zoukankan      html  css  js  c++  java
  • 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中尤其重要。扯远了,把问题记录下来,希望可以给自己一个教训,也希望能帮助到其他人。

  • 相关阅读:
    /pentest/enumeration/0trace/0trace.sh
    2.2synchronized同步语句块
    2.1synchronized同步方法
    第二章:对象及变量的并发序言
    第一章总结
    1.11守护线程
    1.10线程的优先级
    1.9yield方法
    1.8暂停线程
    微信自动回复
  • 原文地址:https://www.cnblogs.com/vathena/p/4108821.html
Copyright © 2011-2022 走看看