我已经使用以下参数进行了编译
#。/ configure --prefix = / usr / local CFLAGS = -fPIC --enable-static --enable-shared \
CFLAGS =“-g -O2 -DSQLITE_ENABLE_FTS3 = 1 \
-DSQLITE_ENABLE_COLUMN_METADATA = 1 \
-DSQLITE_ENABLE_UNLOCK_NOTIFY = 1 \
-DSQLITE_SECURE_DELETE = 1 \
-DSQLITE_ENABLE_DBSTAT_VTAB = 1“
#make -j 8
#进行安装
使用sqlite之后,我得到以下错误消息:
/ usr / bin / g ++ -o utools / utools.so -Wl,-Bsymbolic -g -O2 -shared -Wl,-z,defs utools / utools.plugin.o utools / lib / libutools.a core / lib / libunv .a fv / lib / libfv.a sb / lib / libsb.a -lz -ldl
/ usr / bin / ld:/usr/local/sqlite/lib/libsqlite3.a(sqlite3.o):在创建共享库时,不能使用针对“ .rodata”的重定位R_X86_64_32S;用-fPIC重新编译
/usr/local/sqlite/lib/libsqlite3.a:无法读取符号:错误值
collect2:ld返回1退出状态
scons:*** [stdarm / stdarm.so]错误1
scons:建筑因错误而终止。
最佳答案
在/usr/local/lib/
目录中,删除以下对我有用的文件
libsqlite3.a
libsqlite3.la
libsqlite3.o.0.bak
libsqlite3.so
我认为这些文件来自libsqlite3的旧版本,
因为当您键入并选中dpkg -L libsqlite3-dev
时,没有内容进入/usr/local/lib/
我参考了sqlite3 breakage
关于sqlite - 我如何用-fPIC编译带有静态库的sqlite?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33865905/