boost_system库链接失败的问题

编译完一个boost.asio程序之后发现,出现错误

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

奇了怪了我明明在makefile里面都链接库了,而且也给出了boost库的地址,为什么就运行的时候出现这种问题呢。查了一下资料,发现是系统里面找不到这个库的位置。大部分的解决方式不是添加路径就是对etc/ld.so.conf动手脚。我试了一下发现都不行。

最后找到了方法.....

打开etc/ld.so.conf 我发现里面就只有一句话

include /etc/ld.so.conf.d/*.conf 

好奇怪啊,他们都让我直接把boost库的地址放进来,但是我放进来感觉不对劲,还是不行。

进入ld.so.conf.d里面看看这些.conf文件都什么牛鬼蛇神

结果他们里面也写的很简单 比如 i386-linux-gnu.conf

# Multiarch support
/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu
/lib/i686-linux-gnu
/usr/lib/i686-linux-gnu

原来这里面才是路径啊,那我就就地建一个boost_lib.conf文件好了。里面写上boost的路径

/home/song/lib/lib

保存之后记得让新的conf生效

到etc目录下 ldconfig一下,之后就解决了

猜你喜欢

转载自blog.csdn.net/weixin_42427338/article/details/85465214
今日推荐