我在makefile中添加了-lboost_serialization:
这是我在主要使用boost中包含的内容:
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/serialization/binary_object.hpp>
#include <boost/archive/polymorphic_binary_iarchive.hpp>
#include <boost/archive/polymorphic_binary_oarchive.hpp>
当我编译时,我没有得到错误,但是当我运行程序时,我收到此错误消息:
"./Project: error while loading shared libraries: libboost_serialization.so.1.63.0: cannot open shared object file: No such file or directory"
我该怎么做才能解决这个问题?
答案 0 :(得分:0)
如果发生这种情况,您很可能需要调整LD_LIBRARY_PATH
。由于您需要加载共享库,并且它们位于某个不寻常的位置,您需要指定在执行程序时可以找到它们的位置。
我想在你的情况下,它们不能在/usr/lib
文件夹中找到,但在其他地方,只需将此文件夹添加到提到的环境变量中,使用
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/some/new/path
然后开始你的程序。
路径/some/new/path
是文件libboost_serialization.so
所在的路径。
答案 1 :(得分:0)
当我尝试运行某些脚本并添加LD_LIBRARY_PATH不起作用时,我遇到了同样的问题...所以我只是将“.so”文件复制到/ usr / lib并且它运行良好。