最近安装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