在不安裝sqlite3的時候使用sqlite3數據庫以及問題/usr/bin/ld: skipping incompatible.....的解決


在沒有安裝sqlite3linux機器上,怎么在不安裝的情況下使用sqlite3的數據庫呢:

其中只需要2個文件即可:

數據庫的動態庫libsqlite3.sosqlite3.h.

另外,一些系統可能會需要sqlite3ext.h

操作方法:

  1. 先找到libsqlite3.so,sqlite3.h兩個文件,放在工程文件夾下(任意方便的位置,在編譯的時候鏈接即可)
  2. 指定位置鏈接並編譯

那么在編譯時加上動態庫的鏈接,並且指定為當前路徑

gcc test.c $(HEADDIR)/sqlite3.h -o main -L$(DIR) -lsqlite3

其中:

  1. -L: 說明在后面的路勁下尋找對應的文件
  2. $(DIR) :替換成動態庫所在的位置

如果覺得每次編譯編譯麻煩,可以寫一個簡單的Makefile進行自動化編譯,可以參考makefile的編寫

如果在編譯的時候出現問題:

/usr/bin/ld: skipping incompatible.....

說明目前找到的這個動態庫與當前的系統的版本不對應,需要尋找和目前系統對應的動態庫替換哦

可以使用命令:

objdump -p libmylib.a | more

查看這個庫的版本,是不是和自己系統的版本對應哦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM