资讯专栏INFORMATION COLUMN

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

Jeff / 768人阅读

摘要:以如下错误为例,如果是多人开发,你同步完成后发现出现如下的错误。如果是新添加的第三方库,且不是静态库先重复第一步过程,然后找到将此属性修改成或者,这个视情况而定。总之可以多试几次。

这种问题,通常出现在添加第三方库文件或者多人开发时。
这种问题一般是找不到文件而导致的链接错误。 我们可以从如下几个方面着手排查。

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

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

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

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

如果是新添加的第三方库,且不是静态库
先重复第一步过程,然后找到 Build settings->Linking->Other Linker Flags

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

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

> [html] view plaincopy Undefined symbols for architecture armv7:    
> "_OBJC_CLASS_$_BaiduMobStat", referenced from:  
>       objc-class-ref in BaiduMobStatAppDelegate.o  
>       objc-class-ref in MyPageLogViewController.o  
>      (maybe you meant: _OBJC_CLASS_$_BaiduMobStatAppDelegate)   ld: symbol(s) not found for architecture armv7   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了哪些第三方库,把这些库挨个注释排除,找到出错的那个库,然后按照官方提供的步骤重新添加一遍。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/15830.html

相关文章

  • 添加第三方类库造成的linker command failed with exit code 1 (

    摘要:假如我们在工程中新建某个文件就不会出现这样问题参考 linker command failed with exit code 1 (use -v to see invocation)这个错误貌似遇见并不止一次,当我想用某个第三方类库的时候(如SBJson),我直接把类库文件copy到工程目录里面,然后一编译就出现这样错误(并不是一定会出这样错误),开始以为是网上下载的类库本身问题,所以...

    VEIGHTZ 评论0 收藏0
  • [分享]iOS开发-报错:clang: error: linker command failed..

    摘要:开发这个错误一定少不了,现总结如下,一般这三方面的问题,如果不是哪你真可麻烦了引用出错,把弄成了检查一下你的所有引用再就是你引用第三方的库,你添加文件是系统没有所第三方库的文件参入的编译中去,你向项目添加文件得注意了就是不小心添加的重复的 clang: error: linker command failed with exit code 1 (use -v to see invoca...

    RyanHoo 评论0 收藏0
  • "undefined reference to" 问题汇总及解决方法

    摘要:在实际编译代码的过程中,我们经常会遇到的问题,简单的可以轻易地解决,但有些却隐藏得很深,需要花费大量的时间去排查。工作中遇到了各色各样类似的问题,按照以下几种可能出现的状况去排查,可有利于理清头绪,从而迅速解决问题。 在实际编译代码的过程中,我们经常会遇到undefined reference to的问题,简单的可以轻易地解决,但有些却隐藏得很深,需要花费大量的时间去排查。工作中遇到了...

    Michael_Lin 评论0 收藏0
  • linker command failed

    错误 ld: library not found for -lPods clang: error: linker command failed with exit code 1 解决 Click on your project -> target -> build phases -> link binary with libraries then remove ...

    FrozenMap 评论0 收藏0
  • Xcode 依赖管理带来的静态库动态库思考

    摘要:依赖三个系统框架,如果我们将其编译为静态库,然后这个静态库被其他工程依赖,那么其他工程依旧需要引入这三个框架。最终生成的静态库根本不知道动态库的存在。 最近整理一些项目以前依赖留下的问题,在使用 CocoaPods 和 Carthage 的时候引出了关于静态库和动态库的思考,手动编译静态库的朋友应该知道,如果自己编译了一个静态库,这个静态库依赖了 iOS 自带的库,即使你在 Xcode...

    reclay 评论0 收藏0

发表评论

0条评论

Jeff

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<