Linux系统中提示/usr/bin/ld: cannot find -lxxx错误的通用解决方法
在linux环境编译应用程式或lib的source code时常常会出现如下的错误讯息:
/usr/bin/ld: cannot find -lxxx
这些讯息会随着编译不同类型的source code 而有不同的结果出来如:
/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 libltdl-dev
apt-cache search libXtst-dev
实例:
在进行输入法gcin的Source Code的编译时出现以下的错误讯息:
经检查后发现是:
lib(.so档)的symbolic link 不正确
解决方法如下:
cd /usr/lib
ln -s libXtst.so.6 libXtst.so
如果在/usr/lib的目录下找不到libXtst.so 档,那么就表示系统没有安装libXtst的函式库。
解法如下:
apt-get install libxtst-dev
相关文章
- 然 Ubuntu 提供了优秀的图形化软件管理工具,我们绝大多数时间并不需要使用命令行来管理 Snap 软件包,但命令行拥有更强的功能和灵活性,学会如何使用可以帮你更好地掌控系2024-10-18
Flatpak和Snapcraft怎么选? Linux软件包管理系统优缺点对比
Linux 软件的打包和分发方式在过去几年中也取得了长足地进展,本文将探讨 Flatpak 和 Snapcraft 之间的关键差异,它们各自的优/缺点,以期望帮助用户找到更适合自己的一款2024-10-18linux服务器重启命令哪个好用? Linux服务器重启命令汇总
在 Linux 系统中,最严谨的重启命令是 shutdown -r now,该命令直接将系统重启,而不进行任何清理或准备工作,确保系统彻底重启,但也有很多其他命令,详细如下文介绍2024-10-17教你如何在Linux中使用apt命令? Linux APT命令实战教程
apt是一个软件包管理工具,apt命令相当强大,要是在Ubuntu和Debian系统中使用,可以用来对软件进行安装等操作,需要超级管理员(root)权限进行操作2024-09-29apt 和 apt-get有什么区别? Linux包管理解密
为什么 Debian 系 Linux 发行版同时拥有apt和apt-get这两个雷同的命令?他们之间有什么区别?详细请看下文介绍2024-09-29- Linux圈曝出严重远程代码执行RCE漏洞,已存在10多年,几乎影响所有GNU/Linux发行版,目前尚未有修复补丁,不过可以缓解,解决方案如下2024-09-27
- 在Linux系统中,分区管理是非常重要的一项工作,在使用Linux系统的过程中,有时候我们需要删除某个分区来释放存储空间或重新规划硬盘空间,那么,如何在Linux系统上删除分2024-09-14
深度操作系统deepin 25开发计划公布: 2025 年 01 月发布
deepin 25 计划发布时间为 2025 年01 月,此版本的主要目标是修复 deepin 23 中的遗留问题,提升系统稳定性2024-09-14- FDISK是一个用于硬盘分区的工具,特别是在较早的操作系统版本中,如Windows 98和早期的Linux系统中,FDISK是进行硬盘分区的主要工具,这里就为大家分享一下linux系统中使用2024-08-29
黑神话悟空怎么下载安装? 深度操作系统deepin23黑神话悟空安装教程
deepin23系统想要体验《黑神话:悟空》游戏,该怎么下载安装呢?下面我们就来看看详细的图文教程2024-08-22
最新评论