QT 编译常见错误:usr/bin/ld: cannot find
2013-09-05 16:00
423 查看
QT 编译常见错误:usr/bin/ld: cannot find
问题:在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)
对于上述三种原因有一篇文章写的很棒可参考这一篇文章的第4点:
gcc命令祥解
解决方法:
(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
相关文章推荐
- QT 编译常见错误:usr/bin/ld: cannot find
- Qt常见make编译错误:/usr/bin/ld:cannot find -lxxx
- Qt5.2编译时出现"/usr/bin/ld: cannot find -lxxx" 错误
- 关于usr/bin/ld: cannot find -lxxx问题总结(Qt编译错误cannot find -lGL)
- ubuntu下安装Qt时,编译时出现”/usr/bin/ld: cannot find -LXXX” 错误
- CentOS安装Qt编译错误以及无法调试的问题解决( /usr/bin/ld:cannot find –lGL 和 Debugginghas failed)
- opencv-3.1.0在Ubuntu系统上使用g++编译时出现“/usr/bin/ld: cannot find -lippicv ” 错误及其解决办法
- Android编译遇到错误/usr/bin/ld: cannot find -lstdc++的解决
- 编译Android出现/usr/bin/ld: cannot find -lncurses错误
- Linux下编译C/C++时,出现/usr/bin/ld: cannot find -l*** 错误的处理
- 编译hostapd时,出现错误:/usr/bin/ld: cannot find -lnl
- 解决编译代码出现/usr/bin/ld: cannot find -luuid错误 .
- 编译caffe提示错误/usr/bin/ld: cannot find -lhdf5_hl
- Android编译遇到错误/usr/bin/ld: cannot find -lstdc++的解决
- Android 编译错误:/usr/bin/ld: cannot find -luuid,/usr/bin/ld: cannot find -llzo2
- make编译Qt原码时出现 /usr/bin/ld: cannot find -lXrender 问题的解决方法
- android编译错误--/usr/bin/ld: cannot find -lz
- Qt编译遇到/usr/bin/ld: cannot find -lGL问题的解决方案
- 解决编译代码出现/usr/bin/ld: cannot find -luuid错误 .
- 编译错误"/usr/bin/ld: cannot find -lz"