2016-07-22 21 views
1

我希望能夠在C中使用sqlite3功能,我最近從SQLite網站下載sqlite3合併,並編譯得到sqlite3.so,並將其包含在我的項目中。我已經包含了我認爲是編譯代碼所需的庫,但是我總是得到相同的錯誤。鏈接器似乎是在錯誤的文件夾中查找-lsqlite3,並且我無法在任何項目屬性中的任何位置找到此指定的路徑,而且它似乎也不是我PC上的有效位置! 下面是我嘗試編譯代碼時的輸出。如果我愣神缺少任何幫助需要的東西使用Eclipse C.時,請讓我知道,一個初學者位在C(Eclipse)中獲取sqlite3功能

16:21:03 **** Build of configuration Debug for project SQLite **** 
make all 
Building file: ../main.c 
Invoking: Cross GCC Compiler 
arm-linux-gnueabihf-gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.c" 
Finished building: ../main.c 

Building target: SQLite 
Invoking: Cross GCC Linker 
arm-linux-gnueabihf-gcc -L/root/workspacecpp/SQLite/ -o "SQLite" ./main.o -lsqlite3.so 

/home/development/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lsqlite3.so 

collect2: error: ld returned 1 exit status 
make: *** [SQLite] Error 1 
+0

的發佈,你可以張貼的內容爲文本的圖像氣餒[*]。 – MikeCAT

+0

您使用Linux?如果是的話,哪個分配? –

+0

我在Ubuntu上使用Linux Mint 14.3 – Mst137

回答

1

你是交叉編譯,所以你需要把ARM [*]版libsqlite3.so在交叉編譯器將查找它的地方。這可能位於或低於/home/development/raspberrypi/tools/arm-bcm2708/。查看你的交叉編譯器的文檔。

當然,你用你的交叉編譯器創建一個ARM版本libsqlite3.so :-)

+0

libsqlite3.so和sqlite3.so有區別嗎?因爲我已將sqlite3.so放入鏈接程序查找的文件夾中,但仍無法找到它,並且出現相同的錯誤 – Mst137

+0

鏈接程序應該查找庫文件​​.so – markgz