XCode 的项目设置中忽略了预处理器宏,但目标设置中没有忽略

发布于 2024-12-01 12:02:08 字数 264 浏览 1 评论 0原文

当我将 XCode 4 中的预处理器宏添加到我的目标之一时,它会被使用,并且条件编译会按照我的预期进行。

但是,如果我将该设置移至项目级别并移出我的目标之一,则预处理器宏显然会被忽略并且根本不会使用。

如果我通过仅在启用该宏时才编译的日志记录将其放入项目的构建设置中,我验证了该宏是否已定义。

怎么可能呢?

系统:OS X Lion,XCode 4.1 build 4B110,针对 iOS 4.3.5 构建,使用 LLVM 编译器,而不是 GCC。

When I add a Preprocessor Macro in XCode 4 to one of my targets, it is used and conditional compilation occurs as I expect it to.

However, if I move that setting to the project level and out of one of my targets the preprocessor macro apparently is ignored and not used at all.

I verified that the macro is defined at all if I put it in the project's build setting through logging that is only compiled in when that macro is enabled.

How can that be?

System: OS X Lion, XCode 4.1 build 4B110, building for iOS 4.3.5, using the LLVM compiler, not GCC.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

两相知 2024-12-08 12:02:08

您是否完全删除了目标级别的构建设置(而不仅仅是将其清空)?否则,目标设置将完全覆盖项目设置。 (您可以通过在目标级别构建设置中使用 $(inherited) 来避免这种情况。)

Xcode 4 可以轻松查看此类问题:在目标的“构建设置”视图中,选择“Levels” ”(而不是“组合”)在过滤栏中。

Have you completely deleted the build setting at the target level (not just blanked it)? If not, the target setting will completely override the project one. (You can avoid this by using $(inherited) in the target-level build setting.)

Xcode 4 makes it easy to see this type of problem: in the target’s Build Settings view, select “Levels” (instead of “Combined”) in the filter bar.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文