我对我的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?
对不起我的英文和谢谢。
答案 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
}