【发布时间】:2010-05-04 11:15:00
【问题描述】:
我的任务是处理一个具有一些令人困惑的属性的项目。
该项目的性质是它不会为 iPhone 模拟器和具有相同编译设置的 iPhone 设备编译。我认为这与需要根据目标平台专门针对 x86 或 arm6/7 进行编译有关。
因此,在 Xcode 的 Build Settings 视图中查看项目的构建设置时,我无法为每个特定文件设置特定的编译器标志。但是,之前参与该项目的开发人员以某种方式声明了这一行:
CE7FEB5710F09234004DE356 /* MyFile.m in Sources */ = {isa = PBXBuildFile; fileRef = CE7FEB5510F09234004DE356 /* MyFile.m */; settings = {COMPILER_FLAGS = "-fasm-blocks -marm -mfpu=neon"; }; };
有什么方法可以在不手动编辑项目文件的情况下做到这一点?我知道编辑项目文件会导致完全破坏它,所以我宁愿不这样做,因为我显然不像以前的开发人员那样了解。
所以澄清一下,问题是:
编译模拟器时构建失败,除非我删除-fasm-blocks 标志。除非我添加 -fasm-blocks 标志,否则编译设备时构建会失败。有没有办法在不手动编辑项目文件的情况下为每个文件设置此标志?
【问题讨论】:
-
你可以使用
#if !TARGET_IPHONE_SIMULATOR来过滤掉asm代码。
标签: iphone xcode ios-simulator compiler-flags