出现( linker command failed with exit code 1)错误总结

Posted IOS_Bowen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了出现( linker command failed with exit code 1)错误总结相关的知识,希望对你有一定的参考价值。

这种问题,通常出现在添加第三方库文件或者多人开发时。

这种问题一般是找不到文件而导致的链接错误。 我们可以从如下几个方面着手排查。

 

1.以如下错误为例,如果是多人开发,你同步完成后发现出现如下的错误。

 

[html] view plaincopy
 
  1. Undefined symbols for architecture armv7:  
  2.   "_OBJC_CLASS_$_MyPageLogViewController", referenced from:  
  3.       objc-class-ref in BaiduMobStatAppDelegate.o  
  4. ld: symbol(s) not found for architecture armv7  
  5. clang: error: linker command failed with exit code 1 (use -v to see invocation)  


错误中出现了“MyPageLogViewController”这个类,你可以找到这个类的.m文件, 查看他的Target Membeship, 如下图

 

技术分享

如果没有勾选上,点击勾选。然后编译查看。

 

2. 如果是新添加的第三方库,且不是静态库

先重复第一步过程,然后找到 Build settings->Linking->Other Linker Flags

技术分享

将此属性修改成-all_load  或者 -ObjC ,这个视情况而定。总之可以多试几次。

 

3.如果添加的是第三方静态库(.a文件)

 

[html] view plaincopy
 
  1. Undefined symbols for architecture armv7:  
  2.   "_OBJC_CLASS_$_BaiduMobStat", referenced from:  
  3.       objc-class-ref in BaiduMobStatAppDelegate.o  
  4.       objc-class-ref in MyPageLogViewController.o  
  5.      (maybe you meant: _OBJC_CLASS_$_BaiduMobStatAppDelegate)  
  6. ld: symbol(s) not found for architecture armv7  
  7. clang: error: linker command failed with exit code 1 (use -v to see invocation)  


在用到这个库的所有文件中都出现了错误, 如上 BaiduMobStatAppDelegate 类和 MyPageLogViewController类

 

这种情况就可能是这个静态库路径混乱导致的链接错误

解决方法:Build settings->Search Path->Library Search Paths  添加静态库的相应路径。如下图

技术分享

 

如果上面的所有方法都不管用。你可以再试试一下几个方法:

1,看看是不是有新添加的文件跟之前文件同名

2,错误信息中出现了某个类的名字,去原文件中看看#import了哪些第三方库,把这些库挨个注释排除,找到出错的那个库,然后按照官方提供的步骤重新添加一遍。

 

4.ld: -pie can only be used when targeting ios 4.2 or later

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

解决方法:

把target设置高一点project->target->general->Deployment info-->Deployment Target

以上是关于出现( linker command failed with exit code 1)错误总结的主要内容,如果未能解决你的问题,请参考以下文章

出现( linker command failed with exit code 1)错误总结

iOS之出现( linker command failed with exit code 1)错误总结

出现( linker command failed with exit code 1)错误总结

Xcode出现( linker command failed with exit code 1)错误总结

Xcode出现( linker command failed with exit code 1)错误总结

Xcode出现( linker command failed with exit code 1)错误总结