ubuntu Make时,“/usr/bin/ld: 找不到 -lXXX”问题的解决方法

当编译过程中遇到‘/usr/bin/ld: cannot find -lboost_serialization’的错误时,表明系统无法找到boost_serialization库。解决方法包括:1) 使用`locate`命令定位库文件并创建软链接;2) 如果库文件不存在,则通过`apt-get`查找并安装。确保正确安装和链接库文件,以避免编译错误。

比如:

/usr/bin/ld: 找不到 -lboost_serialization

可能是英文:

/usr/bin/ld:cannot find-lboost_serialization

意思是找不到boost_serialization共享库,这个库的文件名应该为“libboost_serializatio.so”,其命名规则是:lib+库名(即xxx)+.so。
方法一:
用locate命令定位XXX库文件

locate libXXX.so

定位结果:

/usr/local/ahuasdk/libXXX.so

再用软链接将两者链接起来

sudo ln -s /usr/local/ahuasdk/libXXX.so /usr/lib/libXXX.so

方法二:
若定位不到对应的库文件则说明可能没有装这个库,可以用以下方法寻找

$ sudo apt-get install apt-file
$ apt-file update
$ apt-file search libXXX.so

apt-file 将列出所有包含libXXX.so文件的apt包,
选择相应的包用apt-get安装即可。通常请选择带dev的包安装,apt-get的用法请自查。

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值