Linux下库文件的设置 (/usr/bin/ld: cannot find -lxxx 的解决办法)
在软件编译过程中,经常会碰到类似这样的编译错误:
/usr/bin/ld: cannot find -lhdf5

这表示找不到库文件 libhdf5.so,若是其它库文件,则是 cannot find -lxxx 了,其中 xxx 是库文件的名字。
解决方法有:

  1. 安装此库文件和相关软件
    一般库文件属于某个软件,google搜索该软件并安装,或者使用 yum 安装。

  2. 将库文件所在路径添加到gcc的搜索路径
    使用以下命令查询gcc能否搜寻到指定的库文件:

$ gcc -lhdf5 --verbose

查询库文件 libhdf5.so 是否能在搜索路径中找到。
若安装了软件,找到了库文件的路径。但是依然会提示上述错误。则表示gcc的搜索路径不包含该库文件所在的路径。将库文件所在的路径加入到搜寻路径中的方法为:

2.1 使用 /etc/ld.so.conf 配置文件
将库文件所在的路径加入到 /etc/ld.so.conf 尾部,并使之生效:

$ sudo echo ‘/opt/biosoft/hdf5-1.8.15-patch1/lib/’ >> /etc/ld.so.conf
libhdf5.so 在路径 /opt/biosoft/hdf5-1.8.15-patch1/lib/ 下,将该路径加添加到配置文件中
$ sudo ldconfig
运行该命令,重新载入 /ext/ld.so.conf 中的路径,使修改生效。
2.2 修改环境变量
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/biosoft/hdf5-1.8.15-patch1/lib/
修改环境变量 LD_LIBRARY_PATH,加入库文件所在路径。使用 export 命令使修改生效。

$ echo ‘export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/biosoft/hdf5-1.8.15-patch1/lib/’ >> ~/.bashrc
$ source ~/.bashrc
将上述 export 命令加入到配置文件 ~/.bashrc,使之永久生效。

$ export LIBRARY_PATH=/opt/biosoft/hdf5-1.8.15-patch1/lib/:$LIBRARY_PATH
若修改变量 LD_LIBRARY_PATH 不奏效,则修改变量 LIBRARY_PATH 。

https://www.cnblogs.com/zhming26/p/6164131.html


通常在软件编译时出现的usr/bin/ld: cannot find -lxxx的错误,主要的原因是库文件并没有导入的ld检索目录中。

解决方式:

1。确认库文件是否存在,比如-l123, 在/usr/lib, /usr/local/lib,或者其他自定义的lib下有无lib123.so, 如果只是存在lib123.so.1,

那么可以通过ln -sv lib123.so.1 lib123.so,建立一个连接重建lib123.so.

2。检查/etc/ld.so.conf中的库文件路径是否正确,如果库文件不是使用系统路径,/usr/lib, /usr/local/lib, 那么必须在文件中加入。

3。ldconfig 重建ld.so.cache文件,ld的库文件检索目录存放文件。尤其刚刚编译安装的软件,必须运行ldconfig,才能将新安装的

库文件导入ld.so.cache.

4。测试,gcc -l123 --verbose.

这里的123为对应的库名称,123只是个例子不是mode

2.3 编译方法
gcc -o test test.c -l(库名称:去掉“lib”)

ubuntu下库文件的设置 (/usr/bin/ld: cannot find -lxxx 的解决办法)相关推荐

  1. 【Bugfix系列】/usr/bin/ld: cannot find -lxxx 的解决办法

    DATE:2021.9.23 文章目录 1.前言 2.参考 3.解决方案 3.1.安装此库文件和相关软件 3.2.将库文件所在路径添加到gcc的搜索路径 3.2.1.使用 /etc/ld.so.con ...

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

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

  3. linux查看ld文件,Linux下库文件的设置 (/usr/bin/ld: cannot find -lxxx 的解决办法)

    /usr/bin/ld: cannot find -lhdf5 这表示找不到库文件 libhdf5.so,若是其它库文件,则是 cannot find -lxxx 了,其中 xxx 是库文件的名字. ...

  4. /usr/bin/ld:cannot find -lxxx通用解决办法

    报错信息:/usr/bin/ld: cannot find -lcurl 出错原因:找不到libcurl.so文件 解决办法: 1. 先看看有没有这个文件 在根目录中,注意,在根目录中,使用如下命令查 ...

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

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

  6. /usr/bin/ld: cannot find -lxxx 问题 解决方法总结

    很多程序都要部署到linux下来运行,遇到了挺多问题,昨天就集中性遇到了 在编译应用时,遇到了 /usr/bin/ld: cannot find -lxxx 这种情况是系统找不到对应的库文件,其中,- ...

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

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

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

    通常在软件编译时出现的usr/bin/ld: cannot find -lxxx的错误,主要的原因是库文件并没有导入的ld检索目录中. 解决方式: 1.确认库文件是否存在,比如-l123, 在/usr ...

  9. 转载 :make报错:/usr/bin/ld: cannot find -lXXX

    /usr/bin/ld: cannot find -lxxx问题总结 linux下编译应用程序常常会出现如下错误:   /usr/bin/ld: cannot find -lxxx        意思 ...

最新文章

  1. placeholder在不同浏览器下的表现及兼容方法
  2. 学习笔记Kafka(一)—— Kafka简介
  3. 如果机房的线路老化了要怎么做才对?
  4. Ant和Junit使用的一些问题
  5. 如何优化网站加载时间
  6. 深入浅出TCPIP之实战篇—用c++开发一个http服务器(二十一)
  7. 37岁程序员被裁员,面试华为阿里被拒,无奈降薪去小公司,结局出乎意料!
  8. python开发的类似stardict工具
  9. [BZOJ1927]星际竞速(费用流)
  10. 麦当劳降价“过冬” 一夜回到十年前(转)
  11. 数据结构可视化工具(在线,动态生成,用过都说好!)
  12. Accept是又产生一个Socket端口吗?
  13. 最小化安装CentOS-7-x86_64-Minimal-1511图文教程
  14. [2017-AspNet-MVC4] 案例演化:加法测试-1
  15. 欧姆龙nb触摸屏通信_313C和欧姆龙NB触摸屏怎么通讯
  16. 群表示论之二面体群的不可约实表示的求法
  17. Dubbo太难了,我决定加入Spring Cloud阵营了...
  18. 玛雅日历和2012年12月,whats的新政
  19. linux硬盘分区的几种方式,硬盘分区的三种方式
  20. 《Vue入门到精通》最强Vue教程,附带经典案例,万字详解,干货十足!

热门文章

  1. PostgreSQL中的索引—5(GiST)上
  2. CDI技术第十步 给Bean取名字
  3. libsvm java 实例_LibSvm流程及java代码测试
  4. ObjectARX编程--圆
  5. HDU - 1568 Fibonacci (斐波那契,大数取前几位
  6. 位图图像的存储空间计算
  7. 成功解决AttributeError: module ‘numpy‘ has no attribute ‘polyld‘
  8. 攻防世界Mary_Morton
  9. MySQL - orderBy 排序规则
  10. Altium Designer 20 凡亿教育视频学习-01