我有一个项目,我将其分为两个目标。原始的单目标项目使用了许多定义命令,但是我现在需要这些值根据我正在构建的目标而有所不同。
这样做的正确方法是什么?我应该使用 AppDelegate 上声明的 NStrings 吗?或者我可以在设置#defines 时使用#if 语句吗?
任何帮助,非常感谢。
一种方法是这样的:
#if defined(MON_TARGET_A)
#define MON_TARGET_NAME "App A"
#elif defined(MON_TARGET_B)
#define MON_TARGET_NAME "App B"
#else
#error "which target are you building?"
#endif
然后加MON_TARGET_A
or MON_TARGET_B
到你的目标的预处理器设置。
通常,您会使用GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS
并不是GCC_PREPROCESSOR_DEFINITIONS
因为后者可以防止PCH头的共享。
要添加此内容,请转到:
- 项目导航器 -> 项目 -> 目标 -> 构建设置
然后放下GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS
进入搜索字段并将其值设置为:MON_TARGET_A $(inherited)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)