链接期间出现以下警告:
/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)。
ldd executable
还有其他方法可以消除编译时的警告(我已经警告过几次了,这很烦人)?
您需要添加相当于以下内容的动态库-L:
-L
-Wl,-rpath-link,/path/to/lib
这将导致链接器在非标准位置查找共享库,但这仅是为了验证链接是否正确。
如果您希望程序 在运行时 在该位置找到库,则可以使用类似的方法进行操作:
-Wl,-rpath,/path/to/lib
但是,如果没有此程序您的程序运行良好,则不需要它。