了解Qt平台变量

Pat*_*oni 3 c++ qt cross-platform

我有一个简单的Qt pro文件,目的是在不同的开发平台之间共享,即Windows 10和Linux发行版.

因此,我在这个文件中分隔了两个部分,其中库,包括等等是依赖于系统的,并且在这个MWE中只有两个消息.

QT       += core gui
CONFIG += c++11

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = myappname
TEMPLATE = app

SOURCES += main.cpp \
    MultixWindow.cpp

HEADERS  += \
    MultixWindow.h

FORMS    += MultixWindow.ui

win32
{
    message( "Running qmake for Windows" )
}

unix
{
    message( "Running qmake for Linux" )
}
Run Code Online (Sandbox Code Playgroud)

我不明白的是,Qmake(我在Windows 10 x64上)进入这两个部分!换句话说,Qt Creator的General Messages日志说

项目消息:为Windows运行qmake

Project MESSAGE:为Linux运行qmake

应该如何pro描述跨平台文件?

Pat*_*oni 5

正如Qmake Advanced用法所说,

开括号必须与条件写在同一行

所以只是严格的语法问题.