0%

链接库

关于make链接时找不到文件的问题。

  1. 编译好外部库,写CmakeLists.txt
  2. 如果外部库没放在默认路径下,则会在make时遇到/usr/bin/ld: 找不到 -lXXXX: 没有那个文件或目录(其中XXXX自然就是库名,linux下库文件名遵循固定格式libXXXX.so/.a
  3. 利用ld -lXXXX --verbose查看搜索信息
  4. 解决方案:
    1. export LD_LIBRARY_PATH=/path/to/your/lib,但有可能抽风不生效(原因暂时未知)
    2. 动态库也可以export LD_PRELOAD=...
    3. 调配置文件/etc/ld.so.conf
    4. 最暴力的方法:看ld -XXXX --verbose指向那些路径,然后ls -s把缺的链接库软链接过去(当然,复制过去肯定也行)

ref

欢迎关注我的其它发布渠道