xcode - 预处理器宏无法按预期工作
问题描述
我在主要目标上定义了“预处理器宏”FREEVERSION=0,在 Lite 目标上定义了 FREEVERSION=1。
然后在 AppDelegate
#ifdef FREEVERSION
@import GoogleMobileAds;
#endif
当我为 Lite 目标构建时,它运行正常。但是当我为主要目标构建时,它在导入时显示错误。当我选择主要目标时,我希望编译器会忽略这些。但是没有。为什么?
解决方案
猜猜我正在回答我自己的问题。
#ifdef
检查宏是否存在。但不是价值。在这种情况下,两个目标都定义了 FREEVERSION,因此对两者都评估为真。要修复它,只需完全删除 Main 目标中的条目 FREEVERSION=0 即可。而且价值无关紧要。
推荐阅读
- clang++ - 如何用clang++编译c++20模块头单元
- php - 无法将客户端(android + php)与在流明中创建的节点服务器连接
- regex - 如何使用 plsql 中的正则表达式获取确切的 url
- python - 当我使用“pip install”时,Pip 正在卸载从源代码构建的 pytorch
'。有办法吗? - java - 运行 specjbb2015 时错误“max-jOPS 的上限被测量为 0”的原因是什么
- string - 引发了另一个异常:键入“列表”
' 不是类型 'List 的子类型 '函数结果' - java - 有没有办法用 maven 编译单个类文件和依赖项
- git - SmartGit:图表看起来很混乱
- html - 当 div 内有另一个 div 时,如何使 div 内联
- python - 预期类型“Iterable”(匹配泛型类型“Iterable[_T1]”),改为“RasterImageExtensions”