预处理器宏无法按预期工作

时间:2019-02-02 06:48:24

标签: xcode target conditional-compilation

上精简版目标

予定义的 “预处理宏” FREEVERSION = 0上的主要目标,FREEVERSION = 1。

然后在AppDelegate中

#ifdef FREEVERSION
@import GoogleMobileAds;
#endif

当我为Lite目标构建时,它运行正常。但是,当我为Main目标构建时,它在导入时显示错误。我希望编译器在选择“主要目标”时将忽略这些。但是不,为什么?

1 个答案:

答案 0 :(得分:0)

猜猜我在回答自己的问题。 #ifdef检查宏的存在。但没有价值。在这种情况下,两个目标都定义了FREEVERSION,因此两个目标都评估为true。要解决此问题,只需完全删除Main目标中的条目FREEVERSION = 0。并且该值并不重要。