0

我对我的 Qt .pro 文件有疑问...我在此链接中看到了有关类似问题的另一篇文章,但我使用了 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?

对不起我的英语,谢谢。

4

1 回答 1

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 
}
于 2012-07-18T20:30:41.673 回答