c++ 为 sqlite3 设置

标签 c++ c windows sqlite compiler-construction

我已经下载了 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/

相关文章:

C# 调用 native C++ 所有函数 : what types to use?

python - subprocess.Popen 成功消息

Python wifi子进程和通信错误

python - OpenCV:用轮廓上的大多数点拟合椭圆(而不是最小二乘法)

c++ - 使用可变参数模板限制模板类的受支持类型

c - C 预处理器指令的 Lex 规则

c - 强制 GCC 使用单词访问结构

c++ - 指向模板函数的指针

c++ - 谷歌测试夹具 : passing a class member size

c - 如何从存储在字节数组中的字节中检索值?