【发布时间】:2023-03-13 02:00:01
【问题描述】:
我正在尝试使用不同的预处理宏启动 xcodebuild。
我试过了:
xcodebuild -scheme myscheme \
-configuration "Archive" \
-sdk "iphoneos5.1"
archive \
CONFIGURATION_BUILD_DIR=../build \
GCC_PREPROCESSOR_DEFINITIONS=ADHOC
但由于未使用预处理器,导致编译错误:
我用编译命令的 -D 标志看不到它
但它显示在脚本的开头
Build settings from command line:
CONFIGURATION_BUILD_DIR = ../build
GCC_PREPROCESSOR_DEFINITIONS = ADHOC
SDKROOT = iphoneos5.1
编译错误的源代码是:
#ifdef ADHOC
NSUInteger toto = 0;
#endif
但我收到toto 的use of undeclared identifier 错误
ps:如果我确实在 Xcode 中定义了预处理器宏,则使用这些值,我的值被覆盖,并且归档完成。但我确实想根据不同的预处理器定义进行多个构建(这听起来比创建新的构建配置或方案更好)
【问题讨论】:
-
它似乎对我有用。您能否提供一个演示该问题的示例项目?
-
顺便说一句,我不同意预处理器定义是这里最好的方法。它们本质上比替代品更受限制。您是否考虑过使用一种架构、一种配置但有多个目标?
-
我已经在一个项目中遇到了多个目标并且讨厌它:在您将新代码添加到项目中时,有太多复选框无法检查。但也许在这里有意义。
-
您使用的是什么版本的 Xcode? (我的是 4.3.1 - 构建版本 4E1019)。我会尽快创建一个小项目来演示这个问题......
-
我使用的 Xcode 版本和你一样。
标签: ios xcode4 xcodebuild xcode4.3