在运行时丢失Boost库(可以编译。无法运行)

时间:2015-05-27 10:39:38

标签: c++ boost shared-libraries

这是一个非常入门级的问题,但我似乎无法找到任何相关的答案。

我可以使用以下命令编译this没问题:

g++ client.cpp -o client -lboost_system -lpthread

当我尝试运行程序时,出现以下错误:

./client 
./client: error while loading shared libraries: libboost_system.so.1.58.0: cannot open shared object file: No such file or directory

此文件存在:/usr/local/lib/libboost_system.so

我在这里做错了什么?

3 个答案:

答案 0 :(得分:0)

您必须设置查找共享对象的路径,命令LD_LIBRARY_PATH =共享对象所在的路径。我猜文件在某处,否则链接会失败。

答案 1 :(得分:-1)

应该是一些链接错误,

尝试编译它并首先创建.o文件。

g ++ -C .cpp //在这里你需要提到库中的包含。 -I

然后创建可执行文件,

g ++ -O //在这里你需要提到库的路径。 -l

如果你的编程是正确的,它会创建exe,否则会显示错误。如果出现链接错误,请尝试在程序中正确包含.h和lib路径。

答案 2 :(得分:-2)

我没有机会测试你的答案。升级到ubuntu 15.04,同时解决了另一个无关的问题,这个问题恰好解决了这个问题。

非常感谢。