1

Ubuntuでc++でSQLiteを使いたいです。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 に答える