我正在尝试使用不同的预处理宏来启动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中定义了预处理器宏,那么这些值就会被使用,我的值就会被覆盖,然后归档就会完成。但我确实想基于不同的预处理器定义构建几个版本(对我来说,这听起来比创建新的构建配置或方案更好)
发布于 2013-02-27 17:55:38
我必须使用双引号并删除$value。我有过,
GCC_PREPROCESSOR_DEFINITIONS='$value ${e}', 它不起作用,但是
GCC_PREPROCESSOR_DEFINITIONS="${e}" 很管用。
其中,e是循环内的变量,
environments=("TEST1" "TEST2" "TEST3" "TEST4" "TEST5" "PROD")
for e in "${environments[@]}"
do
....... commands
done如果我使用
GCC_PREPROCESSOR_DEFINITIONS='$value ${e}'然后我就得用像这样的
GCC_PREPROCESSOR_DEFINITIONS='$value ADHOC=1'这在一个构建脚本中起作用。
https://stackoverflow.com/questions/9826236
复制相似问题