[英]QMake conditions don't work
我创建了一个项目,其中希望将不同的源文件添加到针对不同平台的项目中。 为此,我使用conditions
:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = untitled16
TEMPLATE = app
MY_WIN_SOURCES = \
file1.cpp \
file2.cpp
MY_WIN_HEADERS = \
file1.h \
file2.h
MY_LINUX_SOURCES = \
file1.cpp \
file3.cpp
MY_LINUX_HEADERS = \
file1.h \
file3.h
FORMS += mainwindow.ui
win32 {
SOURCES = $$MY_WIN_SOURCES
HEADERS = $$MY_WIN_HEADERS
message("Windows...")
} else {
SOURCES = $$MY_LINUX_SOURCES
HEADERS = $$MY_LINUX_HEADERS
message("Not Windows...")
}
但是,当我保存*.pro
文件时,在Windows
,项目树如下所示:
这是错误的,因为在Windows上我不应该具有file3.h
和file3.cpp
文件:
还要编译file3.h
和file3.cpp
,不应编译。 保存*.pro
文件后,唯一出现的消息是Windows...
谁能告诉我我在做什么错?
这实际上是QtCreator的功能。 它会向您显示所有包含的文件,而不管条件如何,但是它应该可以正确编译。
您可以阅读开发者列表以了解更多信息: http : //lists.qt-project.org/pipermail/qt-creator/2012-March/000419.html
我从前面的讨论中了解到,这是故意的。 从理论上讲,无论您当前选择了哪种构建配置,您都对修改项目中的源文件感兴趣。
/ s /亚当
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.