/usr/bin/ld: cannot find -lxxx问题总结
linux下编译应用程序常常会出现如下错误:
  /usr/bin/ld: cannot find -lxxx
       意思是编译过程找不到对应库文件。其中,-lxxx表示链接库文件 libxxx.so。
       注:有时候,由于库文件是编译过程临时生成的,如果前面出错也会导致出现这种情况,下面针对的是由于本机系统环境缺失而引起的。。
       一般出现这种错误有以下几种原因:
1.系统缺乏对应的库文件;
2.版本不对应;
3.库文件的链接错误;
4.库文件路径设置问题。
       对应第一第二种情况,可以通过下载安装lib来解决,ubuntu大多数可以直接通过apt-get来安装:
apt-get install libxxx-dev
     一般遇到这种问题笔者第一时间也是会去检查系统是否已安装该lib或者是否已选择正确版本(只是习惯问题),如果还是不能解决问题,那么,引起错误的原因不是链接错误就是库文件路径问题了。

通过find或者locate指令定位到链接文件,查看链接文件是否正确的指向了我们希望的lib,如果不是,用 ln -sf */libxxx.so.x */libxxx.so 指令修改它。

编译程序遇到:/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: cannot find -lxml2
解决/usr/bin/ld: cannot find -lxxx 问题
问题:
在linux环境编译应用程式或lib的source code时常常会出现如下的错误讯息:
/usr/bin/ld: cannot find -lxxx
这些讯息会随着编译不同类型的source code 而有不同的结果出来如:
/usr/bin/ld: cannot find -lc
/usr/bin/ld: cannot find -lltdl
/usr/bin/ld: cannot find -lXtst
其中xxx即表示函式库文件名称,如上例的:libc.so、libltdl.so、libXtst.so。
其命名规则是:lib+库名(即xxx)+.so。
会发生这样的原因有以下三种情形:
1 系统没有安装相对应的lib
2 相对应的lib版本不对
3 lib(.so档)的symbolic link 不正确,没有连结到正确的函式库文件(.so)
解决方法:
(1)先判断在/usr/lib 下的相对应的函式库文件(.so) 的symbolic link 是否正确,若不正确改成正确的连结目标即可解决问题。
(2)若不是symbolic link 的问题引起,而是系统缺少相对应的lib安装lib即可解决。
(3)如何安装缺少的lib:
以上面三个错误讯息为例:
错误1缺少libc的LIB
错误2缺少libltdl的LIB
错误3缺少libXtst的LIB
以Ubuntu为例:
先搜寻相对应的LIB再进行安装的作业如:
apt-cache search libc-dev
apt-cache search libltdl-dev
apt-cache search libXtst-dev
实例:
在进行输入法gcin的Source Code的编译时出现以下的错误讯息:
/usr/bin/ld: cannot find -lXtst
经检查后发现是:
lib(.so档)的symbolic link 不正确
解决方法如下:
cd /usr/lib
ln -s libXtst.so.6 libXtst.so
如果在/usr/lib的目录下找不到libXtst.so 档,那么就表示系统没有安装libXtst的函式库。
解法如下:
apt-get install libxtst-dev

      如果是库文件路径引发的问题,可以到/etc/ld.so.conf.d目录下,修改其中任意一份conf文件,(可以自建conf,以方便识别)将lib所在目录写进去,然后在终端输入 ldconfig 更新缓存。

转载 :make报错:/usr/bin/ld: cannot find -lXXX相关推荐

  1. cmake之 第三方库始终报错 /usr/bin/ld: cannot find -lxxx?

    为什么自己要添加始终?感觉很奇怪? 加载第三方库对于一个程序是很经常碰到的事情. 首先,自己应该很清楚第三方库的位置哈.将库添加到工程中. #注意:动态库简写,全称均可:静态库要全称. TARGET_ ...

  2. make报错:/usr/bin/ld: cannot find -lXXX

    在编译php时报错如下: # make ... /usr/bin/ld: cannot find -lltdl collect2: ld returned 1 exit status make: ** ...

  3. ubuntu下qt运行报错 /usr/bin/ld: cannot find -lGL

    问题描述 在Ubuntu下运行Qt程序报错: /usr/bin/ld: cannot find -lGL collect2: error: ld returned 1 exit status 解决方案 ...

  4. debug笔记—编译报错usr/bin/ld: cannot find -lfl 解决办法;yum 安装软件时,报错:No package XXX available 解决办法

    问题1: 在编译GEOS-Chem中KPP时,出现问题: usr/bin/ld: cannot find -lfl 原因:参考链接:https://www.royalchen.com/?p=2170 ...

  5. docker 报错 /usr/bin/docker-current: Error response from daemon: driver failed programming external

    现象:centos7 下docker启动容器报错 /usr/bin/docker-current: Error response from daemon: driver failed programm ...

  6. 【转载】/usr/bin/ld: cannot find -lxxx 问题总结

    原文拷贝不过来,贴上链接,随后更新. http://www.threeway.cc/sitecn/informationInfo.aspx?tid=1382&pid=2445 另外对于无法复制 ...

  7. /usr/bin/ld: cannot find -lxxx 的解决办法

    /usr/bin/ld: cannot find -lxxx 的解决办法 /usr/bin/ld: cannot find -lxxx 的解决办法 注意:文中的LIBRARY_PATH是编译时指定的路 ...

  8. 解决 /usr/bin/ld:cannot find -lxxx 问题

    编译软件时,经常遇到/usr/bin/ld:cannot find -lxxx报错,其报错原因就是gcc在搜索路径下找不到xxx库文件. 1. 问题分析 楼主在编译软件时,出现了如下报错: ```ba ...

  9. Linux系统中提示/usr/bin/ld: cannot find -lxxx错误的解决方法

    报错说明 /usr/bin/ld: cannot find -lxxx 这些讯息会随着编译不同类型的source code 而有不同的结果出来如: /usr/bin/ld: cannot find - ...

最新文章

  1. 输入A、B,输出A+B
  2. hdu 2586(LCA的离线做法)
  3. Makefile和automake中判断CPU位数
  4. [UE4]删除UI:Remove from Parent
  5. assert函数的作用
  6. python是什么语言-python是什么语言?哪些人适合学习Python?
  7. djang常用查询SQL语句
  8. python ffmpeg直播_python+ffmpeg视频并发直播压力测试
  9. 【4K录屏】高清录屏及剪辑软件:Bandicam 和 Captura
  10. PS-第二天-图像合成与渐变工具
  11. 论文笔记 General Advantage Estimation(GAE)
  12. 比较好用的自定义软键盘
  13. 【Beta】 第三次Daily Scrum Meeting
  14. TypeError: AMap.MouseTool is not a constructor TypeError: AMap.MouseTool is not a constructor
  15. 地对地导弹地对地导弹
  16. html5 pc端 客户端 web端的区别,wap版、手机版以及web的区别
  17. 关掉微软没用的服务,让你的电脑提速百倍(转)
  18. WSTMart多商户商城跟随thinkphp框架升级到5.0.3
  19. 微型计算机3月2017,2017年3月计算机一级《MS Office》巩固试题及答案
  20. 在RHEL4的GNOME环境下编译安装eva0.4.1

热门文章

  1. 电脑打字拼音出现下划线,没有中文提示框
  2. 迅雷、QQ旋风-链接自动转换(Download link conversion)
  3. Android studio调取支付宝健康码
  4. 获取矩阵内非零元素坐标
  5. 实现微信聊天界面的泡泡对话框效果(改进)
  6. Android apk安全监测及加固方案
  7. ie浏览器flash player不能用的解决方案
  8. 愤怒大叔-喝酒聚会游戏
  9. 戴尔笔记本重装系统后识别不出固态盘的问题的方法
  10. 经典同态加密算法Paillier解读 - 原理、实现和应用