linker command failed with exit code 1 (use -v to see invocation)

  • 错误原因1:一般就是项目里面引用了两次相同的文件/文件夹,如下图所以
linker command failed with exit code 1 (use -v to see invocation)_第1张图片
Snip20161115_41.png
  • 错误如下:
linker command failed with exit code 1 (use -v to see invocation)_第2张图片
Snip20161115_42.png
  • 解决方法1:
    1.根据下图步骤找到重复引用的文件
linker command failed with exit code 1 (use -v to see invocation)_第3张图片
Snip20170111_62.png

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

linker command failed with exit code 1 (use -v to see invocation)_第4张图片
Snip20161115_40.png

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

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

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

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


  • 错误原因3:

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

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

  • 1.选中项目,如下图:
linker command failed with exit code 1 (use -v to see invocation)_第5张图片
Snip20170111_54.png
  • 2.点击Source Control
Snip20170111_56.png
  • 3.点击Discard All Changes...
linker command failed with exit code 1 (use -v to see invocation)_第6张图片
Snip20170111_57.png
  • 错误原因4

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

linker command failed with exit code 1 (use -v to see invocation)_第7张图片
Snip20170217_38.png

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

// 在B类中又有一个同名的全局变量
NSInteger numberOfItems = 6;

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


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

错误原因7
  • 错误截图如下:
linker command failed with exit code 1 (use -v to see invocation)_第8张图片
Snip20171009_2.png
  • 看看是不是一不小心把xxxTests.m或xxxUITests.m文件给添加到项目的Compile Sources中去了。有的话删除即可。
linker command failed with exit code 1 (use -v to see invocation)_第9张图片
Snip20171009_5.png

你可能感兴趣的:(linker command failed with exit code 1 (use -v to see invocation))