Ldd在不同的Ubuntu机器之间的相同c ++可执行文件上显示不同版本的库

时间:2017-12-04 12:06:27

标签: c++ ubuntu-16.04 ldd

我创建了一个需要libboost_iostreams.so.1.63.0库的c ++应用程序。在Ubuntu 16.04 VM中,我已经构建了库,并且我的可执行文件上的ldd命令提供了以下内容:

return

然后我将应用程序与相关的共享库压缩,以便将其安装在没有构建boost 1.63库的新VM上。
我将/ usr / bin上的c ++和库安装在/ usr / share-data中的文件夹lib上,然后更新/etc/ld.so.conf以便它可以找到新的库
但是当我给出时:

ldd ./c++_app | grep boost

libboost_iostreams.so.1.63.0 => /usr/local/lib/libboost_iostreams.so.1.63.0 (0x00007f7a52e62000)

我得到了

 sudo ldconfig -p | grep boost

但是当我在/ usr / bin中的二进制文件上给ldd时,我得到了

 libboost_iostreams.so.1.63.0 (libc6,x86-64) => /usr/share/lib/libboost_iostreams.so.1.63.0

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

试试export LD_LIBRARY_PATH=/usr/share/libThis应该帮助你