在我的应用程序(基于qmake)中我有2个配置,让我们说CONF1和CONF2。 每个配置都定义了"其他参数"在项目/构建设置/构建步骤选项卡:
new DTO
和
DEFINES+=CONF1
因此,在C ++代码中,我可以为指定的构建配置添加一些指定的逻辑:
DEFINES+=CONF2
另外,我需要为应用程序可执行文件定义图标。 所以在.pro文件中我添加了:
#if defined CONF1
logo->setPixmap(QPixmap("conf1.png"));
#else
logo->setPixmap(QPixmap("conf2.png"));
#endif
但问题是我需要不同配置的不同图标。
我试过了:
win32 {
RC_ICONS = logo.ico
}
但这不起作用。看起来contains(DEFINES, CONF1) {
RC_ICONS = conf1.ico
}
else {
RC_ICONS = conf2.ico
}
仅适用于.pro文件中定义的变量。
所以我的问题 - 如何为不同的配置添加不同的设置(在我的情况下为图标)?
答案 0 :(得分:0)
据我所知,qmake无法评估DEFINES列表中设置的变量,只能评估qmake变量。
但是,您可以使用qmake变量同时执行这两个任务。只需分配" conf"变量的值,评估该变量以将其添加到DEFINES列表,然后使用qmake函数测试其值(例如等于)。
举个例子:
将以下内容添加到您的其他qmake参数(包括引号):
with
然后在.pro文件中使用这些指令:
"MYCONF = CONF1"