2012-09-13 46 views
0

我已经下载了sqlite3的源代码,开始用C++中的sqlite3接口进行编程。但我不知道如何得到的.lib文件sqlite的3C++设置为sqlite3

我有这些文件:

sqlite3.c shell.c sqlite3.h sqlite3ext.h

和这是我简单的源代码:

#include <stdlib.h> 
#include <SQL/sqlite3.h> 

using namespace std; 

int main(int argc, char *argv[]){ 
    sqlite3 * db; 

    int rc = sqlite3_open("file.txt", &db); 

} 

,但我得到 “未定义参考sqlite3_open”

这是我的makefile:

MY_LIBS = -lsqlite3 
main: 
    g++ -g main.cpp -o sqliteex 

不编译,因为没有名为sqlite3.lib

我在哪里得到这个文件或我怎么建,所以我可以开始使用的sqlite3库?

回答

1

改变你的build命令

gcc -g -c sqlite3.c -o sqlite3.o 
g++ -g -c main.cpp -o main.o 
g++ -o sqliteex sqlite3.o main.o 

(我假设sqlite3.c是 “合并”)。

这是他们的建议包括在项目中的sqlite的方式;你编译它的权利,而不是链接到它。

你可能(我不知道,你要测试这个)需要把源码包括在

extern "C" {} 

块。

+0

试过了,它在编译时向提示发送了大量的错误。也许有些东西没有正确设置我的编译器? – imkendal

+0

是的,我认为你需要为sqlite使用c编译器。现在就试试。 – Dan

+0

你是男人,这是个伎俩。谢谢丹 – imkendal