编译的C ++程序引发了“无法打开共享对象文件”的问题。虽然文件存在,但在另一个系统上
我写了一个小程序,需要一些库,包括libboost_filesystem,libboost_program_options和libcurl。
我在我的家用机器上编译它并将二进制文件带到我的计算机上进行测试。但是当我尝试启动程序时,它会给出以下错误消息:
error while loading shared libraries:
libboost_filesystem.so.1.42.0: cannot
open shared object file
但是当我搜索这个文件时,我发现它存在于:
/usr/lib/libboost_filesystem.so.1.42.0
在编译/链接我的程序时我有什么问题吗?如果是,我需要做些什么才能使其在其他机器上运行?
没有找到相关结果
已邀请:
6 个回复
蹄渭信妥扳
以确保库位于您的ld缓存中。 如果不是,则可能需要在/etc/ld.so.conf.d目录中添加名为boost.conf的文件。该文件应包含boost库的路径。然后运行
更新系统的ld缓存。 希望这会有所帮助......
苏髓骗撩
磁辫覆氓
也可以检查LD_LIBRARY_PATH环境变量。
舜辉
不是死链接吗?
壬驴拿歪竞
博沮富教全