我正在尝试开始使用SQLite的C ++ API。
#include <iostream>
#include <sqlite3.h>
using namespace std;
int main()
{
sqlite3 *db;
if (sqlite3_open("ex1.db", &db) == SQLITE_OK)
cout << "Opened db successfully\n";
else
cout << "Failed to open db\n";
return 0;
}
使用命令“g ++ main.cpp”进行编译会出现以下错误:
/tmp/ccu8sv4b.o: In function `main':
main.cpp:(.text+0x64): undefined reference to `sqlite3_open'
collect2: ld returned 1 exit status
可能出了什么问题?在我正在编译的服务器中没有正确安装sqlite3吗?
答案 0 :(得分:34)
您需要将sqlite3库与您的程序链接起来:
g++ main.cpp -lsqlite3
答案 1 :(得分:2)
您需要调整链接器标志以在sqlite3
库中进行链接。库通常安装在/usr/lib
或/usr/lib64
或者,您可以将sqlite3.c
文件复制到项目目录中,并将其作为g++
命令的一部分进行编译:
g++ main.cpp sqlite3.c
答案 2 :(得分:0)
在命令行中或在Open IDE中将程序链接到lib g ++ yourProgram.c -lsqlite3->项目->属性->找到sqlite3的lib文件。
答案 3 :(得分:0)
第一步:使用以下命令安装所有库sqlite3:
sudo apt-get install libsqlite3-dev
因此,您可以在#include <sqlite3.h>
或C
的程序中使用C++
。
第二步:要通过控制台编译程序:
C ++:
g++ program.cpp -o executable -lsqlite3
./executable
C:
gcc program.c -o executable -lsqlite3
./executable