对于我们的构建机器,我希望在编译时根据环境变量在我的项目中定义条件预处理器。环境字符串是“MY_CUSTOM_BUILD”,根据它的值,我想添加定义。
我的项目文件有如下内容:
_MY_CUSTOM_BUILD = $$(MY_CUSTOM_BUILD)
eval(_MY_CUSTOM_BUILD = $$"AAA") {
DEFINES+= MY_CUSTOM_BUILD_AAA
}
eval(_MY_CUSTOM_BUILD = $$"BBB") {
DEFINES+= MY_CUSTOM_BUILD_BBB
}
但是,在代码中,无论环境字符串是否存在或其值,似乎总是定义“MY_CUSTOM_BUILD_AAA”和“MY_CUSTOM_BUILD_BBB”。
#ifdef MY_CUSTOM_BUILD_AAA
Blah(); <--- this code always compiles regardless.
#endif
#ifdef MY_CUSTOM_BUILD_BBB
Blah2(); <--- this code always compiles regardless.
#endif
我在语法上做错了吗?