出现( linker command failed with exit code 1)错误总结
1、问题来源
2、解决方案
(1)需要检查
或者检查
这两处是否导入该库的路径。
(2)对于删除三方库
就是因为你之前导入的时候,已经在某些地方留下了该库的路径,但是闲杂删除了之后,就找不到该库了。
需要做的需要检查上面解决方案1中的两个地方,以及下面一个地方:
删除掉跟你删除的库相关的,就可以解决问题了。
(3)快速定位到错误点
可以在搜索栏,搜索到你使用这个库的所有地方,当然这个快速查找对于 “由于删除导致出现三方库这个问题”会方便很多,只需要把找到的每一个地方删除(路径部分)或者屏蔽(代码部分)。
3、因为导入文件重复
在快要放弃的时候,突然,想到在TARGES的other linkers 下的-all_load和-ObjC以及其他的库的”-XXX”,啊哈,我终于知道了,-all_load就包括了其他的所有,所以当然有那么多的文件重复啊,一天的出错时光没有白费。
毕竟让我有这么痛的领悟。
所以,我删掉了-all_load,就好了。
下次自己可以涨一个心眼了。
4、前三个方案,不够用
项目中依赖的三方库实在是太多,再引入一个库的时候,又出现了这个问题,以为前三个解决方案已经是极致了,没想到,还是没能解决,这个时候,就需要试试这个了。
把其中的$(inherited)删掉
如果这个也不能解决你的问题,试试
在 Library Search Paths 添加上 @(inherited) 。
在 Library Search Paths 添加上 @(inherited) 。