我正在尝试将我的项目连接到位于项目基目录 [proj_dir]/lib 中的特定一组自定义编译库,而不是任何系统的 /lib、/usr/lib 或 /usr/local/lib,以避免与这些相同库的安装版本发生冲突。
我可以通过使用 -L 标志传递库路径来编译该项目,但当我运行已编译的二进制文件时,会出现“错误加载共享库 libXXX.so: 找不到共享对象文件:没有那个文件或目录”的错误,并且 ldd 告诉我找不到那些特定的库。
另一方面,如果我将 LD_LIBRARY_PATH=[proj_dir]/lib 传递给可执行文件,则可以无问题地运行它。但是,有没有一种隐式链接这些库的方法,而不必在运行时手动设置 LD_LIBRARY_PATH?
我可以通过使用 -L 标志传递库路径来编译该项目,但当我运行已编译的二进制文件时,会出现“错误加载共享库 libXXX.so: 找不到共享对象文件:没有那个文件或目录”的错误,并且 ldd 告诉我找不到那些特定的库。
另一方面,如果我将 LD_LIBRARY_PATH=[proj_dir]/lib 传递给可执行文件,则可以无问题地运行它。但是,有没有一种隐式链接这些库的方法,而不必在运行时手动设置 LD_LIBRARY_PATH?