linux查看ld文件,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”)
参考:
http://jiangwenfeng762.iteye.com/blog/1740325
linux查看ld文件,Linux下库文件的设置 (/usr/bin/ld: cannot find -lxxx 的解决办法)相关推荐
- ubuntu下qt运行报错 /usr/bin/ld: cannot find -lGL
问题描述 在Ubuntu下运行Qt程序报错: /usr/bin/ld: cannot find -lGL collect2: error: ld returned 1 exit status 解决方案 ...
- cmake之 第三方库始终报错 /usr/bin/ld: cannot find -lxxx?
为什么自己要添加始终?感觉很奇怪? 加载第三方库对于一个程序是很经常碰到的事情. 首先,自己应该很清楚第三方库的位置哈.将库添加到工程中. #注意:动态库简写,全称均可:静态库要全称. TARGET_ ...
- Linux下/usr/bin/ld: 找不到 -lz
/usr/bin/ld: 找不到 -lz 在Ubuntu20.04下用Makefile编译c文件,首先要下载gcc. 首先进入root权限,输入密码(不会显示,输入回车就好了) 下载gcc apt-g ...
- ubuntu下库文件的设置 (/usr/bin/ld: cannot find -lxxx 的解决办法)
Linux下库文件的设置 (/usr/bin/ld: cannot find -lxxx 的解决办法) 在软件编译过程中,经常会碰到类似这样的编译错误: /usr/bin/ld: cannot fin ...
- linux du 文件大小排序,du命令 实现Linux 某个文件夹下的文件按大小排序
1. df -lh 2. du -s /usr/* | sort -rn 这是按字节排序 3. du -sh /usr/* | sort -rn 这是按兆(M)来排序 4.选出排在前面的10个 du ...
- Linux 查看磁盘容量、查找大文件、查找大目录
Linux 查看磁盘容量.查找大文件.查找大目录 磁盘统计 查看磁盘使用情况 df -h 文件统计 查找/home 目录下大于800M的文件 find /home -type f -size +800 ...
- Linux统计文件夹下的文件数量
统计某文件夹下目录文件的个数,统计文本文件的数量 Linux下有三个命令:ls.grep.wc 通过这三个命令的组合可以统计目录下文件及文件夹的个数.ls常用命令介绍 统计当前目录下文件的个数(不包括 ...
- Linux编译时如何减小so库文件的大小
Linux编译时如何减小so库文件的大小 今天问了我这个问题,我就顺便记录一下.客户问为什么libc.so文件再编译前和编译后的size不一样啊,staging 和 compile 两个dir下的 l ...
- linux 压缩当前文件夹下所有文件
linux zip压缩.压缩当前文件夹下所有文件,压缩为a.zip.命令行的方法是怎样. zip -r fileName.zip 文件夹名 tar tar命令可以用来压缩打包单文件.多个文件.单个目录 ...
最新文章
- AMD发布“全球单核性能最快”CPU,参数碾压英特尔,性能提升47%
- python经典好书-python经典书籍推荐
- u-boot分析之内核启动(五)
- AIR720串口2收发数据问题
- Oracle定义变量、常量
- is transfer = C ( only read dynamically) not supported in one order scenario
- sap ABAP中常用函数
- 实验五 数独游戏界面设置
- 学习笔记之centos系统启动流程
- 2018年线程与多线程面试必知必会内容
- 计算机字体安装按钮灰色,win10系统无法安装字体安装按钮灰色的的解决方法
- pyhive数据库连接池使用
- 计算机视觉基础概念、运行原理和应用案例详解
- 职高计算机专业个人鉴定范文大全,职高个人自我鉴定300字左右
- Flink 与 Storm的对比
- 群晖 DLNA 设置
- 从asm磁盘头自动备份看11g到12c的新特性--Physical_metadata_replication
- ImportError: cannot import name ‘structural_similarity‘ from ‘skimage.measure‘
- 传奇战盟GOM引擎登录器配置教程
- foobar2000隐藏桌面悬浮窗头像_如何解锁华为手机隐藏的超能力?