美文网首页iOS 开发iOS 开发Set
library not found for -xxx

library not found for -xxx

作者: 天空中的球 | 来源:发表于2016-09-28 11:03 被阅读8632次

    被这个library not found for -xxx 错折腾了下,特此记录下解决过程。

    linker command failed

    一般来说这个错就是 我的xxx库的连接引用有问题,常见解决办法:

    • 方法一:在Build Phases 中的 Link Binary With Libraries 中对其xxx取消并且重新引用,同时在Build Setting 中的 Build Active Architecture Only
      改成 YES,最后Clear 下。

    • 方法二:直接在Build Settings 中的 Library Search Paths 中手动添加其路径。

    • 方法三:用了CocoaPods 之后,直接 pod update,或pod install。因为这个问题换个角度来说就是 libPods.a是红色 缺失的,所以只需要在终端 pod update就可以了。

    然而这两种都没有解决我的问题,像第一种方法压根在 Link Binary With Libraries 找不到该库,第二种方法我也是尝试的,但是不对,这个库是在CocoaPods 中的,所以尝试第三种方法,虽说成功了,然而我却不敢用,因为马上上线了,直接 update 更新的地方有点多,又是Xcode 8 的环境下,不敢立即用。

    在网上找了一圈,居然发现有朋友和我有同样的经历 灰烬里有颗心的 ld: library not found for -lXXXXX 的解决方法, 连过程都是一样,然而并不符合这边,继续追寻答案......

    • 方法四:涉及到CocoaPods ,在其官网上提示,在 Edit Scheme 中的build 里加上 Pods, 然后再编译。

      另一方法
      然而我这边还是编译失败的.......
    • 方法五:用最直接的办法啦,直接将缺失的文件干掉再补上去,和方法一有点像,但是这个位置有点不同。

      去掉lib
      然后直接Copy 在改目录下
      注意的是:只要放在该目录下,并不要拖到Frameworks 中,否则又会出错。暂时来说,我用了这种方法。

    总的来说,像我这种在 CocoaPods 中的错误情况,直接用 ** 方法三 pod update ** 就好了,但是我们情况有点特殊,只好用方法五啦,暂时没发现其他方法,如有好的方法欢迎告之。

    PS: 另外还有一种直接的方法,在SVN 头上上传该文件,因为我这边该问题的产生就是由于SVN 少传了这个文件!

    相关文章

      网友评论

      • dlxfly:方法四 找不到pod
      • WSWshallwe:老哥 ,稳 高了大半天 直接使用第4中方法好了 :-D
      • csp:直接删除所有的pod文件,重新pod一下。
      • 张芳涛:您好,我这边找不到你说的要拷贝的那个目录
        天空中的球:@张芳涛 不知道你那边具体的情况,你可以试试其他方法,我当时的情况是直接在SVN上改最好

      本文标题:library not found for -xxx

      本文链接:https://www.haomeiwen.com/subject/alyhyttx.html