xcode5.1.1 编译问题解决方法

  以前都在XCode5.0.2编译项目,今天在Xcode5.1.1下用release安装程序到设备。结果发现提示错误(debug没问题)。错误大概是说编译项目里的一个汇编文件时编译错误。(这个汇编文件是为了提到某些函数执行效率)代码中有一段
	
.text
.align 2
.arm

结果就提示 error: unknown directive .arm
一开始就按着提示搜索问题,结果先找到 http://stackoverflow.com/questions/24189752/using-clang-compile-ffmpeg-with-too-much-warning-on-osx
后从这个页面的链接又 找到一个 http://stackoverflow.com/questions/11118887/how-to-switch-off-llvms-integrated-assembler
说的就是关于 at&t汇编 编译选项的事。按着说法,把-no-integrated-as 选项设置到了XCode的other c flags编译选型中。然后clean,重新编译。还是同样地错误。搞得头大。
    后来经过若干次搜索,发现搜 xcode 5.1 编译错误。最终搜到了正确答案。
原来是 xcode5.1默认把 Builde Settings->Architectures->Architectures 设成了 (arm7, arm7s, arm64),这个在以前的Xcode里是 (arm7, arm7s),把它改回(arm7, arm7s)就可以了。
  原来这个问题是汇编文件在arm64下编译有问题,估计是得重新根据arm64的要求修改汇编程序。又上网查了一下用arm64的有哪些设备,发现了如下链接 http://www.cnblogs.com/willbin/p/3634957.html。 目前是有iphone5s用,又说arm64会向下兼容armv7,所以这么编译的包也是可以在iphone5s上运行的,只是可能效率会不如用arm64指令。所以目前这么弄能解决问题,但不是最好的解决方法,最好的解决方法就是修改汇编文件,使之兼容arm64。

猜你喜欢

转载自lianxianghui.iteye.com/blog/2100599