在Qt/Qmake中构建多个目标

Swi*_*tch 19 qt qmake

如何在Qt中指定具有不同配置的多个目标?有没有办法在一个.pro文件中执行此操作?

例如,我想构建以下2个.pro文件(无需每次都手动更改.pro文件):

targetA:

QT += network
TEMPLATE = app
SOURCES += main.cpp \
    mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
RESOURCES += resource.qrc

TARGET = targetA
DEFINES += PARAMA
Run Code Online (Sandbox Code Playgroud)

targetB:

  QT += network
  TEMPLATE = app
  SOURCES += main.cpp \
      mainwindow.cpp
  HEADERS += mainwindow.h
  FORMS += mainwindow.ui
  RESOURCES += resource.qrc

  TARGET = targetB
  DEFINES += PARAMB
Run Code Online (Sandbox Code Playgroud)

ali*_*ami 37

您可以为.pro文件定义多个配置:

QT += network
TEMPLATE = app
SOURCES += main.cpp \
    mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
RESOURCES += resource.qrc

configA {
TARGET = targetA
DEFINES += PARAMA
}

configB {
  TARGET = targetB
  DEFINES += PARAMB
}
Run Code Online (Sandbox Code Playgroud)

运行qmake时可以使用CONFIG参数.

qmake x.pro CONFIG+=configA
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以将两个文件共有的部分移动到单独的.pri文件中.之后,可以使用include-function在目标文件中引用公共文件:include(common.pri)