【发布时间】:2009-10-26 19:55:49
【问题描述】:
在我的 iPhone 项目中,我使用了一些内联 asm,如果目标架构是设备而不是模拟器,则将其排除在外。
由于某些内联 asm 代码仅是 arm 而不是 thumb,我需要在为 iPhone 编译它时指定 c 标志 -marm,否则它会尝试使用 thumb 指令编译代码。
如果我在文件特定的构建设置中输入 -marm 标志,这就是问题,如果我为模拟器编译,gcc 会输出错误:
cc1obj:错误:无法识别的命令行选项“-marm”
只有当目标架构是arm时,有没有办法通过这个选项? 我知道你可以用全局 c 标志来做,但我不想用 -marm 标志编译我的整个项目。我只想要几个 .m 文件是 -marm。
感谢和问候,金
【问题讨论】:
-
您是否查看了构建日志以确保当 Xcode 从中生成命令时该选项被正确使用?
标签: iphone objective-c xcode gcc compiler-flags