iOS cocoapods类库引入头文件crash(The `XXX [Debug]` target overrides the `OTHER_LDFLAGS` build setting)

我就纳闷了,然后突然发现CocoaPods报了下面的错;

[!] The YYW [Debug] target overrides the OTHER_LDFLAGS build setting defined in Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation - Use the$(inherited)` flag, or
- Remove the build settings from the target.

[!] The YYW [Release] target overrides the OTHER_LDFLAGS build setting defined in Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation - Use the$(inherited)` flag, or
- Remove the build settings from the target.
然后才发现原来Xcode的Other Linker Flags 配置出错了;

链接器(Other Linker Flags)

首先,要说明一下Other Linker Flags到底是用来干嘛的。说白了,就是ld命令除了默认参数外的其他参数。ld命令实现的是链接器的工作,详细说明可以在终端man ld查看。

如果有人不清楚链接器是什么东西的话,我可以作个简单的说明。

一个程序从简单易读的代码到可执行文件往往要经历以下步骤
源代码 > 预处理器 > 编译器 > 汇编器 > 机器码 > 链接器 > 可执行文件
源文件经过一系列处理以后,会生成对应的.obj
文件,然后一个项目必然会有许多.obj
文件,并且这些文件之间会有各种各样的联系,例如函数调用。链接器做的事就是把这些目标文件和所用的一些库链接在一起形成一个完整的可执行文件。 如果想详细了解,这里不描述了,点击传送 关于Xcode的Other Linker Flags;
解决办法:
1、选择程序 xxx -> TARGETS -> Build Settings
2、找到 Other Linker Flags 如果里面有配置参数先删除,添加 $(inherited)
3、然后执行 pod update --verbose --no-repo-update

你可能感兴趣的:(iOS cocoapods类库引入头文件crash(The `XXX [Debug]` target overrides the `OTHER_LDFLAGS` build setting))