我在链接期间有以下警告:
/usr/bin/ld: warning: libxxx.so.6, needed by /a/b/c/libyyy.so, not found (try using -rpath or -rpath-link)
设置环境变量 LD_LIBRARY_PATH=path_to_libxxx.so.6 使警告静音(添加 -Lpath_to_libxxx.so.6 没有帮助)。
我有一个单独的编译服务器,生成的二进制文件只在其中编译。
二进制文件在其他服务器上执行,二进制文件可以看到 libxxx.so.6(使用 ldd executable
检查)。
有没有其他方法可以消除编译时的警告(我有好几次了,很烦人)?
最佳答案
你需要添加等同于-L
的动态库:
-Wl,-rpath-link,/path/to/lib
这将导致链接器在非标准位置查找共享库,但仅用于验证链接是否正确。
如果您希望程序在运行时在那个位置找到库,那么有一个类似的选项可以做到这一点:
-Wl,-rpath,/path/to/lib
但是,如果您的程序在没有它的情况下运行良好,那么您就不需要它。
关于linux - 摆脱 "gcc -/usr/bin/ld: warning lib not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13507600/