Qt .pro文件中的条件命令

时间:2012-07-18 18:18:01

标签: qt makefile

我对我的Qt .pro文件有疑问...我看过另一篇关于类似问题in this link的帖子,但是我使用了contains()函数并且没有用。

在我的情况下,我有一个名为mainconfig.h的文件,我在其中定义了一些项目配置标志,我真的在那里创建定义,如:“#define MY_CONFIG_DEFINE”。这些标志定义了将显示的菜单选项等。我的问题是:所有文件总是被编译,即使我不使用它,因为我在“mainconfig.h”文件中定义了一些标志。我想避免编译一些文件而不是我不会使用,在我的.pro文件中定义一些变量并执行条件命令,包括只有我想要的文件。

有人可以帮助我吗?

我在.pro文件中尝试了这个:

    # This variable defines the current project ADRIANO_PROJECT = PROJECT_TYPE_1
    ADRIANO_PROJECT = PROJECT_TYPE_1

    (...) 

    FORMS += ui/form1.ui \ 
    contains(ADRIANO_PROJECT, PROJECT_TYPE_1) {
            ui/myform1.ui \
            ui/myform2.ui \ 
    }
             ui/form2.ui \
             ui/form3.ui

    (...)

    # This is only a example, ok?

对不起我的英文和谢谢。

1 个答案:

答案 0 :(得分:4)

恕我直言你的语法错了。试试这个:

ADRIANO_PROJECT = PROJECT_TYPE_1

FORMS += ui/form1.ui \ 
         ui/form2.ui \
         ui/form3.ui

contains(ADRIANO_PROJECT, PROJECT_TYPE_1) {
        FORMS + = ui/myform1.ui \
                  ui/myform2.ui 
}
相关问题