1.这个错误是什么意思
构建应用程序有几个阶段,在Xcode的配置里可以看得到:
重点第三个phase,Link Binary With Libraries:链接二进制文件和库,Xcode compile完ources之后,会链接这些库文件,如果连接失败就会报错:error: linker command failed with exit code 1 (use -v to see invocation)
参考: Xcode应用程序构建阶段(Build Phases)分析 http://www.entlib.net/?p=1645
2.这个错误是如何导致的
连接库文件失败的原因有多种,经过分析我们可以得到
(1)找不到对应类库的路径
(2)该类库内部错误
3.解决方案
分不同情况,
(1)在拖入第三方类库的时候没有勾选add to target:
解决方案:target->Build Phase->Link Binary With Libraries->点击"+"添加
(2)因为路径错误导致无法链接到该类库,错误如下:
解决方法: 找到Build Settings里面的 Library Search Paths 修改为正确地路径
(3)真机调试显示第三方类库找不到armv7/armv7s/...导致连接错误:
解决方案:1.终端查看该类库是否支持这些指令集,查看命令: "cd ../该类库的路径" ,然后 "lipo -info 类库名"
2.如果不支持,如果是开源库 可以自己添加重新编译静态库,如果拿不到代码,找该作者...
(4)可定还会出现一些其他的情况,总之,明白错误原因,根据错误信息提示仔细分析,多多尝试总会解决的.
注:还有一些常见错误,一是重复导入,仔细检查过程目录,删掉其中一个就可以了 还有一种引入第三方的时候,有的含有.m文件,如果没有添加到compile sources里面也会导致编译出错.