0

我已经下载了 sqlite3 的源代码,以便开始使用 c++ 中的 sqlite3 接口进行编程。但我不知道如何获取 sqlite 3 的 .lib 文件。

我有这些文件:

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?

4

1 回答 1

1

将您的构建命令更改为

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 的推荐方式;您直接编译它而不是链接到它。

您可能(我不确定,您必须对此进行测试)需要将 sqlite 包含在

extern "C" {}

堵塞。

于 2012-09-13T17:59:58.333 回答