1

我想在 Ubuntu 上使用 SQLite 和 c++。我选择尝试https://www.sqlite.org/quickstart.html中的示例。但是在运行时c++ test.cpp -o test出现错误:

/tmp/ccTwwjKw.o: In function `main':
test.cpp:(.text+0xf1): undefined reference to `sqlite3_open'
test.cpp:(.text+0x106): undefined reference to `sqlite3_errmsg'
test.cpp:(.text+0x12e): undefined reference to `sqlite3_close'
test.cpp:(.text+0x15d): undefined reference to `sqlite3_exec'
test.cpp:(.text+0x18f): undefined reference to `sqlite3_free'
test.cpp:(.text+0x19b): undefined reference to `sqlite3_close'
collect2: ld gab 1 als Ende-Status zurück

我认为问题与此处相同:Sqlite undefined reference to `sqlite3_open' error in Netbeans C++ on Ubuntu, Integrating SQLite into Netbeans C++ Ubuntu。但是我没有make文件,也不使用netbeans。

4

1 回答 1

3

这是一个链接器错误,您没有链接到任何库。使用 -llibname 链接到正确的库,其中 libname 是从一开始就删除了 lib 的库的名称。例如,如果 libname 是 libsqlite3.so,请尝试-lsqlite3在编译步骤结束时添加。当然,您还需要提供该库的路径,如果它位于使用该选项的非标准位置-L/path/to/lib,显然您需要先安装相关库。

于 2012-07-18T12:36:12.293 回答