gpt4 book ai didi

sqlite - 如何使用静态库构建 sqlite 并使用 -fPIC 进行编译?

转载 作者:行者123 更新时间:2023-12-02 11:53:58 26 4
gpt4 key购买 nike

我使用以下参数进行编译

#./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# make install

使用 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): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC/usr/local/sqlite/lib/libsqlite3.a: could not read symbols: Bad valuecollect2: ld returned 1 exit statusscons: *** [stdarm/stdarm.so] Error 1scons: building terminated because of errors.

最佳答案

里面/usr/local/lib/目录,删除以下文件对我有用

  • libsqlite3.a
  • libsqlite3.la
  • libsqlite3.o.0.bak
  • libsqlite3.so

我认为这些文件来自旧版本的 libsqlite3,因为当您输入并检查 dpkg -L libsqlite3-dev ,没有一个去 /usr/local/lib/

我引用了sqlite3 breakage

关于sqlite - 如何使用静态库构建 sqlite 并使用 -fPIC 进行编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33865905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com