了解 Qt 平台变量

Understanding Qt platform variables

我有一个简单的 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" )
}

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

Project MESSAGE: Running qmake for Windows

Project MESSAGE: Running qmake for Linux

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

正如Qmake Advanced usage所说,

The opening brace must be written on the same line as the condition

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