usr/bin/ld: cannot find 错误解决方法

简介: 参考:http://blog.siyebocai.cn/20100324_5p424qs7.html      通常在软件编译时出现的usr/bin/ld: cannot find -lxxx的错误,主要的原因是库文件并没有导入的ld检索目录中。

参考:http://blog.siyebocai.cn/20100324_5p424qs7.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.

 

如果以上方法还是不行,可以采用 软连接的方式,比如 ln -s /usr/local/BerkelyDB5.3.25/lib/libdb.so /usr/lib/libdb.so

 

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

目录
相关文章
|
6月前
|
PHP
php 使用phpize报错Cannot find config.m4. Make sure that you run ‘/usr/bin/phpize‘ in the top l
php 使用phpize报错Cannot find config.m4. Make sure that you run ‘/usr/bin/phpize‘ in the top l
249 1
|
C语言
gcc静态编译/usr/bin/ld: cannot find -lc
gcc静态编译/usr/bin/ld: cannot find -lc
二进制编译安装/usr/bin/ld: cannot find -latomic报错排查思路
排查过程 /usr/bin/ld: cannot find -latomic主要观察这句报错内容,一般出现这种报错,都是缺少了一些函式库文件导致,编译不同的软件,报错错也是都不一样的,相同的一定就是有这句话:/usr/bin/ld: cannot find。
1288 0
二进制编译安装/usr/bin/ld: cannot find -latomic报错排查思路
|
消息中间件 PHP
PHP编译安装amqp扩展报错解决:/usr/bin/ld: cannot find -lrabbitmq
PHP编译安装amqp扩展报错解决:/usr/bin/ld: cannot find -lrabbitmq
121 0
PHP编译安装amqp扩展报错解决:/usr/bin/ld: cannot find -lrabbitmq
|
Shell
加载/usr/local/lib中的so库问题
加载/usr/local/lib中的so库问题
167 1
解决办法:/usr/bin/ld: 找不到 -lstdc++
解决办法:/usr/bin/ld: 找不到 -lstdc++
250 0
|
开发工具 git
/usr/bin/env: escript: No such file or directory的解决办法
/usr/bin/env: escript: No such file or directory的解决办法
474 0
|
Linux Shell
在“PATH”设置出错的情况下为什么键入"export PATH=/usr/bin:/usr/sbin:/bin:/sbin"后就可以使用常用命令了
在“PATH”设置出错的情况下为什么键入"export PATH=/usr/bin:/usr/sbin:/bin:/sbin"后就可以使用常用命令了
4090 0