標籤:error: 'libsqlite3'
最近安裝libspatialite,但是編譯到一半報
error: ‘libsqlite3‘ is required but it doesn‘t seem to be installed on this system.
於是就安裝sqlite3-master
wget https://github.com/LuaDist/libsqlite3/archive/master.zip
./configure;make;make install 一套下來,裝上了,也有這個庫檔案libsqlite3.so
位於,/usr/local/lib,不過當我再次編譯libspatialite的時候,錯誤依舊,於是我將
/usr/local/lib加到/etc/ld.so.conf裡,然後執行ldconfig,但是錯誤依舊。
猜想編譯libspatialite的時候,沒有去/usr/local/lib讀libsqlite3.so庫檔案,於是
設定export "LDFLAGS=-L/usr/local/lib" 強制GCC去讀取/usr/local/lib裡的庫檔案,然後再次
編譯,通過!這裡要註明兩個編譯參數,如下:
CFLAGS: 指定標頭檔(.h檔案)的路徑,如:CFLAGS=-I/usr/include -I/path/include。同樣地,安裝一個包時會在安裝路徑下建立一個include目錄,當安裝過程中出現問題時,試著把以前安裝的包的include目錄加入到該變數中來。
LDFLAGS:gcc 等編譯器會用到的一些最佳化參數,也可以在裡面指定庫檔案的位置。用法:LDFLAGS=-L/usr/lib -L/path/to/your/lib。每安裝一個包都幾乎一定的會在安裝目錄裡建立一個lib目錄。如果明明安裝了某個包,而安裝另一個包時,它愣是說找不到,可以抒那個包的lib路徑加入的LDFALGS中試一下。
LIBS:告訴連結器要連結哪些庫檔案,如LIBS = -lpthread -liconv
安裝libspatiaLite報錯,error: 'libsqlite3' is required