zoukankan      html  css  js  c++  java
  • 完美解决:"library not found for

     

    分析原因,解决问题

    在Xcode编译的时候,可能会遇到报这个错误"library not found for - ",这是为什么呢?

    由于我们在项目中使用了一些第三方的库,如百度的静态库。当Xcode在编译的时候却找不到这个库,所以我们要让Xcode知道这个库文件在哪里,这样在编译的时候就可以轻松的找到库了。

    出错信息

    解决方法: 
    获取 库文件所在的文件路径 ,添加到Target的Build Settings界面,如图:

    解决方法

    若上述方法还未能解决,以下共有3种方法

    • 方法一:点击 XCode 工程文件,在 Build Phases 中查看 “ Link binary With Libraries” 如果不出所料,你应该能发现有一到数个的条目是用红色字体来显示的。 说明这些被工程引用的这些文件,其物理文件已经不处于之前所记录的地方了。 这种情况下,右键点击红色条目,选择 “Reveal in Project Navigator”, 此时大抵能在左侧栏中定位到缺失文件所在的路径,接下来就好办了,找到缺失的文件,挪回它应该待的地方。

    • 方法二: 在工程的 Target 中选中要执行编译的某个target, 然后 “get info”,打开 Build 设置页面,在 “ Library Search Path” 中添加缺失链接库的所在文件夹的路径。

    • 方法三:关闭Xcode,在控制台打开到工程目录,用pod install 命令重新安装,成功后再打开Xcode编译项目。

    常见问题的处理方法

    • 总结1:library not found for -XXX 的问题有可能是你的某个库的连接引用有问题,解决的办法就是在项目的target里,选中Link Binary With Libraries 里的.a或framework 取消再加入,就可以了。

    • 总结2:warning:directory not found option 的问题可能是framework search paths 还有Library Search Paths 里面并没有这个路径,删除即可。

    • 总结3:duplicate就是重复的意思,那么看代码 要删除重复的openUDID,以及libwoa_two和sbjson冲突了,删除sbjson的点m即可.

    • 还一种情况:
    •  
     我是pod第三方框架,发现部分如图所示,他们的libxxx.a文件只在所属文件夹,并没有在Debug-iphonesimulator文件夹下,所以,系统报错,提示:

    当我把.a文件放到Debug-iphonesimulator文件夹下,系统就运行成功了。

     
  • 相关阅读:
    处理了一个“服务器能ping得通,但telnet连接失败”导致数据库登录不了的问题
    解决了一个oracle登录缓慢的问题
    今天解决了一个mysql远程登录和本机ip登录都失败的问题
    c++笔记
    c语言笔记
    常见并发与系统设计
    linux网络IO笔记
    linux文件IO全景解析
    linux网络协议笔记
    长大后才懂的蜡笔小新 ​​​​
  • 原文地址:https://www.cnblogs.com/includeao/p/7211233.html
Copyright © 2011-2022 走看看