繁体   English   中英

修复Linux中缺少的Boost共享库

[英]fixing boost shared library missing in linux

我正在构建一个调用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特权,因此我只能更改用户设置-而且我是linux newb,所以请尝试简单地说明一下...

我认为问题在于您已链接到特定版本的Boost(在本例中为1.42.0)。 只要Boost存在于您系统上的那个确切版本中,此方法就起作用,但是一旦发生了对Boost的最新版本的更新,就不再能找到链接库。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM