编译工程的过程中莫名其妙的出现架构的问题,很是苦恼,不知道自己哪里犯下了什么错误,终于在苦苦找寻之下,明白了是因为什么,现在写在这里,防止以后忘记,也为了各位程序员朋友再遇到同样的问题的时候能够尽快解决
提示的错误是这样的:
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).
其实错误的意思就是没有架构来支持这个程序进行运行。其实解决的办法已经给出了,只是鄙人没有到达那个境界,没有好好的看返回来的信息
具体解决办法就是:
1,在Project target里“Architectures”设置为“Standard (armv7,armv7s)”;
2,修改在Project target里“Build Settings”的“Valid Architectures”添加“i386”
3,设置”Build Active Architecture Only”为“NO”
其实主要的问题就是:不懂得armv6, armv7, armv7s的区别,需要好好的学习。
多说一点:
PBXcp error差不多算是Xcode比较常见的一个编译错误了,原因往往是添加或删除资源的时候出错。虽然是小问题,但出现的频率很高。
解决方法(可以依次尝试,总有一种能最终解决问题):
方法1. 清除Xcode里面所有的缓存
退出Xcode,然后从finder里面进入~/Library/Developer/Xcode/DerivedData 删掉里面所有的内容,然后重启Xcode试试看
方法2.上面的操作也可以直接在Xcode的organizer中完成,在organizer里面切换到projects,然后delete掉derived data
在target设置中删掉Prefix Header的值,重启Xcode试试看
方法3:
还是在Xcode里面
项目-targets-build phases,
然后从copy bundle resources里面删掉红色的错误资源文件