【发布时间】:2010-06-28 21:09:10
【问题描述】:
我正在尝试在我们的 iphone 应用程序中启用代码块,以便我可以运行 xcode 中包含的静态分析器工具。我在运行构建和分析任务时收到此警告(或错误,具体取决于我使用的编译器):
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:252:72:错误:块支持禁用 - 编译-fblocks 或选择支持它们的部署目标
我已将我的部署目标从 iPhone OS 3.0 更改为编译器默认值,并且我已将编译器从 GCC 4.2 更改为 LLVM 1.5 和 LLVM GCC 4.2,但没有成功。我不确定我还需要更改哪些内容才能使其正常工作,或者我需要在哪里添加 -fblocks 参数。有人知道吗?
【问题讨论】:
-
Clang 静态分析器不需要块支持来运行(我们从 3.0 开始就一直在使用它,当时 iPhone 操作系统中还没有块)。在构建和分析之前,您是否清理过项目?
-
我有。打嗝来自于它分析包含 uikit 及其所有内容的前缀头文件时,我的猜测是,通过在 ios 4.0 上构建它,它无法识别新的块语法,除非它以某种方式启用。如果我针对 3.2 进行编译,我没有这个问题,这是一种解决方法,但如果可能的话,我想针对所有目标执行此操作。
标签: iphone objective-c xcode codeblocks