如何根据配置向.pro文件添加逻辑?

时间:2018-05-03 13:34:29

标签: qt qmake

在我的应用程序(基于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文件中定义的变量。

所以我的问题 - 如何为不同的配置添加不同的设置(在我的情况下为图标)?

1 个答案:

答案 0 :(得分:0)

据我所知,qmake无法评估DEFINES列表中设置的变量,只能评估qmake变量。

但是,您可以使用qmake变量同时执行这两个任务。只需分配" conf"变量的值,评估该变量以将其添加到DEFINES列表,然后使用qmake函数测试其值(例如等于)。

举个例子:

将以下内容添加到您的其他qmake参数(包括引号):

with

然后在.pro文件中使用这些指令:

"MYCONF = CONF1"