在执行程序时,经常遇到
./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
等方法可能会导致系统在不同环境中运行时出现问题。确保你的解决方案适用于特定的使用场景。