摘要:以如下错误为例,如果是多人开发,你同步完成后发现出现如下的错误。如果是新添加的第三方库,且不是静态库先重复第一步过程,然后找到将此属性修改成或者,这个视情况而定。总之可以多试几次。
这种问题,通常出现在添加第三方库文件或者多人开发时。
这种问题一般是找不到文件而导致的链接错误。 我们可以从如下几个方面着手排查。
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 (use -v to see invocation)这个错误貌似遇见并不止一次,当我想用某个第三方类库的时候(如SBJson),我直接把类库文件copy到工程目录里面,然后一编译就出现这样错误(并不是一定会出这样错误),开始以为是网上下载的类库本身问题,所以...
摘要:开发这个错误一定少不了,现总结如下,一般这三方面的问题,如果不是哪你真可麻烦了引用出错,把弄成了检查一下你的所有引用再就是你引用第三方的库,你添加文件是系统没有所第三方库的文件参入的编译中去,你向项目添加文件得注意了就是不小心添加的重复的 clang: error: linker command failed with exit code 1 (use -v to see invoca...
摘要:在实际编译代码的过程中,我们经常会遇到的问题,简单的可以轻易地解决,但有些却隐藏得很深,需要花费大量的时间去排查。工作中遇到了各色各样类似的问题,按照以下几种可能出现的状况去排查,可有利于理清头绪,从而迅速解决问题。 在实际编译代码的过程中,我们经常会遇到undefined reference to的问题,简单的可以轻易地解决,但有些却隐藏得很深,需要花费大量的时间去排查。工作中遇到了...
错误 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 ...
摘要:依赖三个系统框架,如果我们将其编译为静态库,然后这个静态库被其他工程依赖,那么其他工程依旧需要引入这三个框架。最终生成的静态库根本不知道动态库的存在。 最近整理一些项目以前依赖留下的问题,在使用 CocoaPods 和 Carthage 的时候引出了关于静态库和动态库的思考,手动编译静态库的朋友应该知道,如果自己编译了一个静态库,这个静态库依赖了 iOS 自带的库,即使你在 Xcode...
阅读 364·2023-04-26 02:08
阅读 1716·2021-11-18 10:02
阅读 3262·2021-11-11 16:55
阅读 3037·2021-09-27 13:34
阅读 2217·2021-08-17 10:13
阅读 2760·2019-08-30 15:53
阅读 530·2019-08-30 15:44
阅读 2357·2019-08-30 11:10