xcodebuild命令行忽略GCC

我试图用不同的预处理宏启动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中定义了预处理器宏,那么将使用这些值,覆盖我的内容,并完成归档。 但是我希望根据不同的预处理器定义进行多个构建(这对于为我创建新的构建配置或方案听起来是一个更好的想法)


我必须使用双引号并删除$值。 我曾经,

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'

这在一个构建脚本中起作用。

链接地址: http://www.djcxy.com/p/59787.html

上一篇: xcodebuild command line ignoring GCC

下一篇: Controlling build location with xcodebuild command line tool