主页 > IT业界  > 

Linux可执行文件动态库依赖

Linux可执行文件动态库依赖
可执行文件动态库依赖

在执行程序时,经常遇到

./LinuxApp.exe: error while loading shared libraries: libmodbus.so.5: cannot open shared object file: No such file or directory

查看系统的共享库缓存,以确定库的安装路径

ldconfig -p

查看当前的库文件的查找路径

echo $LD_LIBRARY_PATH

如果有动态库,可以把库文件放入

/usr/lib

或者

/usr/local/lib

也可以放入指定目录下,然后在环境变量LD_LIBRARY_PATH中加入指定目录

在构建可执行文件时,你可以使用 -rpath 或 -rpath-link 选项指定运行时搜索库的路径。这可以在链接阶段通过 CMake 或手动编写构建脚本来完成。

set(CMAKE_INSTALL_RPATH "/path/to/directory")

请注意,使用 rpath 或 LD_LIBRARY_PATH 等方法可能会导致系统在不同环境中运行时出现问题。确保你的解决方案适用于特定的使用场景。

标签:

Linux可执行文件动态库依赖由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Linux可执行文件动态库依赖