这是一个非常入门级的问题,但我似乎无法找到任何相关的答案。
我可以使用以下命令编译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
我在这里做错了什么?
答案 0 :(得分:0)
您必须设置查找共享对象的路径,命令LD_LIBRARY_PATH =共享对象所在的路径。我猜文件在某处,否则链接会失败。
答案 1 :(得分:-1)
应该是一些链接错误,
尝试编译它并首先创建.o文件。
g ++ -C .cpp //在这里你需要提到库中的包含。 -I
然后创建可执行文件,
g ++ -O //在这里你需要提到库的路径。 -l
如果你的编程是正确的,它会创建exe,否则会显示错误。如果出现链接错误,请尝试在程序中正确包含.h和lib路径。
答案 2 :(得分:-2)
我没有机会测试你的答案。升级到ubuntu 15.04,同时解决了另一个无关的问题,这个问题恰好解决了这个问题。
非常感谢。