首页 > 代码库 > linux编译链接找不到库文件的解决方法。
linux编译链接找不到库文件的解决方法。
今天编译出现ld: 0706-006 Cannot find or open library file: -l xerces-c_static,ld:open(): A file or directory in the path name does not exist.这个熟悉得不能再
熟悉的链接错误。
很简单,编译器打开xerces-c_static.a失败。出现这个错误的原因往往是因为目录库文件xerces-c_static.a没被编译出来或不存在。
于是第一反应,看一下xerces-c_static.a文件有没有存在,发现文件是已经存在的。接着检查makefile,库目录也设置正确。反正clean编译了几次,问题依旧,突然想到,打开
文件失败,并不一定是不存在,也可能是用户权限不够。于是赶紧查看了一下,果然发现用户没有xerces-c_static.a文件的read权限。这个工程以外的库,之前我直接用root用户在
其它目录拷贝过来的,导致用户权限不足,在编译的时候,打不开相应的.a文件,修改了xerces-c_static.a文件后,问题解决。一个小小的复制运作,很有可能就是bug的关键,细节
决定成败,在coding中尤其重要。扯远了,把问题记录下来,希望可以给自己一个教训,也希望能帮助到其他人。
linux编译链接找不到库文件的解决方法。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。