我已经下载了 sqlite3 的源代码,开始使用 c++ 中的 sqlite3 接口(interface)进行编程。但我不知道如何获取 sqlite 3 的 .lib 文件。
我有这些文件:
sqlite3.c 壳.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 的 undefined reference ”
这是在我的 makefile 中:
MY_LIBS = -lsqlite3
main:
g++ -g main.cpp -o sqliteex
无法编译,因为没有名为 sqlite3.lib 的库
我从哪里获得这个文件或如何构建它以便我可以开始使用 sqlite3?
最佳答案
将构建命令更改为
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 include 放在一个
extern "C" {}
阻止。
关于c++ 为 sqlite3 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12412047/