美文网首页
linker command failed with exit

linker command failed with exit

作者: IMKel | 来源:发表于2016-11-15 17:54 被阅读23次
    • 错误原因1:一般就是项目里面引用了两次相同的文件/文件夹,如下图所以
    Snip20161115_41.png
    • 错误如下:
    Snip20161115_42.png
    • 解决方法1:
      1.根据下图步骤找到重复引用的文件
    Snip20170111_62.png

    2.选中其中一个你想要去掉的文件/文件夹,按快捷键:command + delete然后会弹出一个窗口,点击“Remove References”按钮即可。

    Snip20161115_40.png
    • 错误原因2:
      笔者出现这个错误的原因是因为在pch文件中写了下面这行代码.
    /** 存放当前位置信息的字典 */
    NSMutableDictionary *localLocationInfoDict;
    

    解决方法:在数据类型前面加上extern,如下:

    /** 存放当前位置信息的字典 */
    extern NSMutableDictionary *localLocationInfoDict;
    

    这样就不会报错了,但是如果使用过程中给这个变量赋值,还是会报错,笔者也不知道怎么办,干脆把这行代码给删除了.另想其他方法吧.


    • 错误原因3:

    如果你的项目出错的原因不是错误原因1,也不是错误原因2,那么就只能放大招了.

    解决方法,步骤如下:
    提示:这个解决方法会将上次commit之后写的所有代码全部抹去。也就是说,上次提交代码之后所写的代码全没了,等于白写了。

    • 1.选中项目,如下图:
    Snip20170111_54.png
    • 2.点击Source Control
    Snip20170111_56.png
    • 3.点击Discard All Changes...
    Snip20170111_57.png
    • 错误原因4

    可能你创建了一个跟以前文件同名的类,如下图

    Snip20170217_38.png
    错误原因5
    • 在不同的文件定义了两个同名的全局变量。例如
    // 在A类中有下面全局变量
    NSInteger numberOfItems = 3;
    
    // 在B类中又有一个同名的全局变量
    NSInteger numberOfItems = 6;
    

    那么这个时候就会报这个错误,解决方法就是在两个全局变量的最左边加上static就可以。


    错误原因6
    • 看看你的build phases->Link Binary With Libraries中,是否有哪些框架变白色了,如果有的话,删除重新导入即可。
      解决这个问题不能光是看红色报错文字,还要看一下黄色警告,它能提供一些有用信息,这个问题我就是这么解决的。

    错误原因7
    • 错误截图如下:
    Snip20171009_2.png
    • 看看是不是一不小心把xxxTests.m或xxxUITests.m文件给添加到项目的Compile Sources中去了。有的话删除即可。
    Snip20171009_5.png

    相关文章

      网友评论

          本文标题:linker command failed with exit

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