2012-11-15 91 views
0

我創建它與SQLite數據庫以及具有天然的C代碼的Android應用。 當我從我的jni文件夾執行ndk-build時,出現以下錯誤。NDK,建立與SQLite庫錯誤

undefined reference to `sqlite3_open' 
peard.c:(.text+0x588): undefined reference to `sqlite3_exec' 
peard.c:(.text+0x5f8): undefined reference to `sqlite3_exec' 
peard.c:(.text+0x668): undefined reference to `sqlite3_exec' 
peard.c:(.text+0x6d8): undefined reference to `sqlite3_prepare_v2' 
peard.c:(.text+0x720): undefined reference to `sqlite3_column_count' 
peard.c:(.text+0x734): undefined reference to `sqlite3_step' 
peard.c:(.text+0x774): undefined reference to `sqlite3_column_text' 
peard.c:(.text+0x78c): undefined reference to `sqlite3_column_name' 
peard.c:(.text+0x800): undefined reference to `sqlite3_close' 

我試圖與-lsqlite3命令一起運行,但不起作用。 謝謝。

回答

0

你需要建立或安裝sqlite3(和你的項目所依賴的所有其他非標準庫上)爲Android,並與-L-I參數指向你的SQLite庫和頭的胳膊版本構建項目。

+0

用我製作的文件,當我做了「make」命令,我能夠執行properly.When我做了NDK構建它不是fine.Can你給我的例子與-I和NDK-build命令行-L選項? – AndroidCrazy

+0

ndk-build -Lsqlite3 -Isqlite3.h。它是否正確?但我還沒有得到它。 – AndroidCrazy

+0

你的'sqlite'目標android安裝在哪裏?舉例來說,如果你在庫「的/ opt /安卓/ SQLite的/ lib目錄」你需要通過'-L /選擇/安卓/源碼/ lib'作爲參數傳遞給GCC。這通常在Android.mk中使用變量'LOCAL_CFLAGS' – hirschhornsalz

1

我在我的Android.mk file.Special感謝hirschhomsalz添加sqlite3.c源文件到我的依賴文件列表解決了這個問題。

納瑞恩。