首页IT科技/usr/bin/ld:cannot find -l(/usr/bin/ld: cannot find lxxx 问题总结)

/usr/bin/ld:cannot find -l(/usr/bin/ld: cannot find lxxx 问题总结)

时间2025-08-04 14:20:37分类IT科技浏览4309
导读:/usr/bin/ld: cannot find -lxxx 问题总结...

/usr/bin/ld: cannot find -lxxx 问题总结

2011-8-18 23:37:37作者:HEAVEN点击数:19471

linux下编译应用程序常常会出现如下错误:

/usr/bin/ld: cannot find -lxxx

意思是编译过程找不到对应库文件                。其中              ,-lxxx表示链接库文件 libxxx.so                     。

注:

有时候                        ,由于库文件是编译过程临时生成的       ,如果前面出错也会导致出现这种情况          ,下面针对的是由于本机系统环境缺失而引起的        。            。

一般出现这种错误有以下几种原因:

1.系统缺乏对应的库文件;

2.版本不对应;

3.库文件的链接错误;

4.库文件路径设置问题                     。

对应第一第二种情况                        ,可以通过下载安装lib来解决           ,ubuntu大多数可以直接通过apt-get来安装:

apt-get install libxxx-dev

一般遇到这种问题笔者第一时间也是会去检查系统是否已安装该lib或者是否已选择正确版本(只是习惯问题)      ,如果还是不能解决问题                       ,那么               ,引起错误的原因不是链接错误就是库文件路径问题了            。

通过find或者locate指令定位到链接文件   ,查看链接文件是否正确的指向了我们希望的lib                      ,如果不是                   ,用 ln -sf */libxxx.so.x */libxxx.so 指令修改它        。

如果是库文件路径引发的问题,可以到/etc/ld.so.conf.d目录下                  ,修改其中任意一份conf文件                       ,(可以自建conf   ,以方便识别)将lib所在目录写进去              ,然后在终端输入 ldconfig 更新缓存                     。

声明:本站所有文章                        ,如无特殊说明或标注       ,均为本站原创发布               。任何个人或组织          ,在未征得本站同意时                        ,禁止复制              、盗用                        、采集       、发布本站内容到任何网站          、书籍等各类媒体平台    。如若本站内容侵犯了原著者的合法权益           ,可联系我们进行处理                      。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
提供关键词自动生成文章(输入关键词自动生成文章-怎么自动生成原创文章) 小米路由器存储远程电脑访问(小米路由器2代1T版本 PC端使用远程下载的详细方法)