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

  • 相关阅读:
    OpenCV里面的一些常用函数
    c++ 里面的字符类型转换
    互斥研究
    git 命令
    pipe的操作
    二叉树总结(五)伸展树、B-树和B+树
    二叉树总结(四)平衡二叉树
    二叉树总结(三)二叉搜索树
    [LeetCode]Construct Binary Tree from Preorder and Inorder Traversal
    二叉树总结(一)概念和性质
  • 原文地址:https://www.cnblogs.com/vathena/p/4108821.html
Copyright © 2020-2023  润新知