修复linux中缺少的boost共享库

时间:2012-01-15 14:09:14

标签: c++ linux boost shared-libraries

我正在构建一个调用boost的unix c ++程序,但是当我尝试运行它时,我得到了

 error while loading shared libraries: libboost_filesystem.so.1.42.0: cannot open shared object file: No such file or directory.

之前我没有用来获取此错误(即使我已经调用了boost),尽管我不知道是什么引发了这一变化。无论如何 - 在二进制文件上执行ldd,它确实表明库缺失了。

我想解决方法是在LD_LIBRARY_PATH中添加一个包含.so文件的库的链接 - 但我找不到它。应该在哪里?这是正确的解决方案吗? 请注意,我的计算机上没有sudo privelages,因此我只能更改用户设置 - 而且我还是linux新手,所以请尽量解释...

1 个答案:

答案 0 :(得分:1)

我认为问题在于你已经链接到一个特定版本的Boost(在这种情况下为1.42.0)。只要Boost存在于您系统上的确切版本中,就可以工作,但只要更新了更新版本的Boost,就无法再找到链接库。

您可能希望调整Makefile以链接到libboost_filesystem.so的更通用版本。