CONFIG
- 控制编译器和链接器标志:
选项 | 描述 |
---|---|
release | 该项目将以发布模式构建。 |
debug | 该项目将以调试模式构建 |
debug_and_release | 该项目准备要建在这两个调试和发布模式。 |
debug_and_release_target | 默认情况下设置此选项。如果debug_and_release还设置了if ,则调试和发布版本最终将放置在单独的调试和发布目录中。 |
build_all | 如果debug_and_release指定,则默认情况下以调试和发布模式构建项目。 |
autogen_precompile_source | 自动生成一个.cpp文件,其中包括.pro文件中指定的预编译头文件。 |
- 定义要构建的项目的类型。
选项 | 描述 |
---|---|
qt | 目标是Qt应用程序或库,并且需要Qt库和头文件。Qt库的正确包含和库路径将自动添加到项目中。默认情况下会添加此值,可以使用\l{#qt}{QT}变量进行微调。 |
x11 | 目标是X11应用程序或库。正确的包含路径和库将自动添加到项目中如果目标使用Qt,则不需要此值。 |
testcase | 目标是自动测试。一个测试用例将被添加到生成的Makefile中以运行测试。仅在生成Makefile时相关。 |
windows | 目标是Win32窗口应用程序(仅适用于应用程序)。正确的包含路径,编译器标志和库将自动添加到项目中。 |
console | 目标是Win32控制台应用程序(仅适用于应用程序)。适当的包含路径,编译器标志和库将自动添加到项目中。考虑将选项cmdline用于跨平台应用程序。 |
console | 目标是跨平台的命令行应用程序。在Windows上,这意味着CONFIG += console。在macOS上,这意味着CONFIG -= app_bundle。 |
shared ,dll | 目标是共享对象/ DLL。适当的包含路径,编译器标志和库将自动添加到项目中。注意,dll它也可以在所有平台上使用;将创建带有目标平台的适当后缀(.dll或.so)的共享库文件。 |
static、staticlib | 目标是静态库(仅lib)。正确的编译器标志将自动添加到项目中。 |
insignificant_test | 动测试的退出代码将被忽略。仅testcase也设置相关。 |
plugin | 目标是插件(仅lib)。这也会启用dll |
designer | 目标是Qt Designer的插件 |
no_lflags_merge | 确保存储在LIBS变量中的库列表在使用前不减少为唯一值列表。 |
例子:
(1) 如果您的应用程序使用Qt库,并且您想以debug模式构建它
CONFIG += qt debug
注意:您必须使用“ + =”,而不是“ =”,否则qmake将无法使用Qt的配置来确定项目所需的设置。
TEMPLATE
指定生成项目时要使用的模板的名称:
选项 | 描述 |
---|---|
app | 创建用于生成应用程序的Makefile(默认)。有关更多信息,请参见 构建应用程序 |
LIB | 创建用于构建库的Makefile。有关更多信息,请参见构建库。 |
subdirs | 创建用于在子目录中构建目标的Makefile。子目录是使用SUBDIRS变量指定的。 |
aux | 创建一个不生成任何内容的Makefile。如果不需要调用任何编译器来创建目标,请使用此选项;例如,因为您的项目是以解释性语言编写的。 注意:此模板类型仅适用于基于Makefile的生成器。特别是,它不适用于vcxproj和Xcode生成器。 |
vcapp | 仅Windows。为Visual Studio创建一个应用程序项目。有关更多信息,请参见创建Visual Studio项目文件 |
vclib | 仅Windows。为Visual Studio创建一个库项目。 |
例子:
TEMPLATE = lib
SOURCES = main.cpp
TARGET = mylib