Linux可执行文件动态库依赖
2023-12-25 19:40:02
可执行文件动态库依赖
在执行程序时,经常遇到
./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
等方法可能会导致系统在不同环境中运行时出现问题。确保你的解决方案适用于特定的使用场景。
文章来源:https://blog.csdn.net/weixin_43739167/article/details/135206652
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!