#define 在目标构建设置的“用户定义”部分,在 xcode 编译代码时未定义

Posted

技术标签:

【中文标题】#define 在目标构建设置的“用户定义”部分,在 xcode 编译代码时未定义【英文标题】:#define in 'user-defined' section of target build settings, is not defined when xcode compiles code 【发布时间】:2012-10-20 23:10:10 【问题描述】:

我有一个项目,使用当前版本的 Xcodellvm。 我正在做一个免费和付费版本的游戏,所以我设置了一个预处理器标志来做它。

对于付费版本目标,我定义了PAID_VERSION = 1(在构建设置的“用户定义”部分)

当我编译时,PAID_VERSION 不断出现 undefined。 所以我的#ifndef#ifdef 指令构建了应用程序的免费版本。

我查看了 Stack OverflowGoogle 并没有发现关于这里发生了什么的提示。

【问题讨论】:

【参考方案1】:

Other C Flags部分添加-DPAID_VERSION=1

这会将PAID_VERSION 定义为1,相当于代码中的#define PAID_VERSION 1

【讨论】:

以上是关于#define 在目标构建设置的“用户定义”部分,在 xcode 编译代码时未定义的主要内容,如果未能解决你的问题,请参考以下文章

在自定义 .plist 文件中使用用户定义的构建设置

xcode 构建设置组

CMAKE - 调试/交叉构建?

xcode 4.6 目标构建设置缺少“Apple LLVM 编译器 4.2 - ...”部分

一起使用 XCUI 测试和 XC 测试

iphone:通过代码在 Target 的设置中获取用户定义的变量?