qmake 的基本行为受定义每个项目构建过程的变量声明的影响。
1、ANDROID_ABIS
此变量仅适用于 Android 目标。
指定 Android 目标 ABI 列表。有效值为:armeabi-v7a、arm64-v8a、x86、x86_64。如:
qmake ANDROID_ABIS="armeabi-v7a arm64-v8a"
2、ANDROID_API_VERSION
此变量仅适用于 Android 目标。指定 Android API 级别编号。
3、ANDROID_APPLICATION_ARGUMENTS
此变量仅适用于 Android 目标。
使用带有“android.app.arguments”标签的 AndroidManifest.xml 为 Android 应用程序指定额外的命令行参数。
4、ANDROID_BUNDLED_JAR_DEPENDENCIES
此变量仅适用于 Android 模块。以 .jar 格式指定模块使用的预捆绑依赖项列表,例如:
ANDROID_BUNDLED_JAR_DEPENDENCIES += jar/Qt6Android.jar
5、ANDROID_DEPLOYMENT_DEPENDENCIES
此变量仅适用于 Android 目标。
默认情况下,androiddeployqt 将检测应用程序的依赖项。 但是,由于无法检测到插件的运行时使用情况,因此可能会出现误报,因为应用程序可能依赖于任何潜在依赖项的插件。 如果您想最小化 APK 的大小,可以使用此变量覆盖自动检测。这将包含需要包含的所有 Qt 文件的列表,以及相对于 Qt 安装根目录的路径。
6、ANDROID_DEPLOYMENT_SETTINGS_FILE
此变量仅适用于 Android 目标。
指定 androiddeployqt 和 androidtestrunner 所需的 android-deployment-settings.json 文件的路径。这会覆盖 qmake 生成的设置文件的路径,因此您必须确保提供有效的设置文件。
7、ANDROID_EXTRA_LIBS
此变量仅适用于 Android 目标。
将被复制到应用程序的 libs 文件夹并在启动时加载的外部库列表。
例如,这可用于在应用程序中启用 OpenSSL。
要包含多个 ABI 的外部库,其中每个 ABI 都有自己的目录,请使用以下命令:
for (abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $$PWD/$${abi}/library_name.so
如果 ABI 包含在库名称中,请使用以下内容:
for (abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $$PWD/library_name_$${abi}.so
8、ANDROID_EXTRA_PLUGINS
此变量仅适用于 Android 目标。
指定应用程序必须捆绑但无法通过资源系统交付的 C++ 插件或资源的路径,例如 QML 插件。有了这个变量,androiddeployqt 将确保一切都被正确打包和部署。
此变量必须指向构建额外插件的目录。 此外,构建目录结构必须遵循类似于Qt插件的命名约定,即plugins/<plugin name>。
插件库的名称格式应为 libplugins_<type>_<name>_<abi>.so。为了实现这一点,插件 pro 文件可以定义如下:
TEMPLATE = lib
CONFIG += plugin
PLUGIN_TYPE = imageformats
DESTDIR = $$top_builddir/plugins/myplugin
TARGET = $$qt5LibraryTarget(myplugin, "plugins/$$PLUGIN_TYPE/")
.qmake.conf 中定义的 top_builddir 为:
top_builddir=$$shadowed($$PWD)
这将确保将正确的名称修改应用于插件库(plugins/myplugin/libplugins_imageformats_myplugin_armeabi-v7a.so)。 然后,假设一个额外的图像格式插件 myplugin 被构建为 $$DESTDIR/plugins/myplugin/,以下确保它被正确打包:
ANDROID_EXTRA_PLUGINS += $$top_builddir/plugins
9、ANDROID_FEATURES
此变量仅适用于 Android 模块。指定模块的功能列表:
ANDROID_FEATURES += android.hardware.location.gps
10、ANDROID_LIB_DEPENDENCIES
此变量仅适用于 Android 模块。它指定了模块使用的预构建依赖项列表,例如:
ANDROID_LIB_DEPENDENCIES += plugins/libplugins_platforms_qtforandroid.so
11、ANDROID_MIN_SDK_VERSION
此变量仅适用于 Android 目标。
指定项目的最低 Android API 级别。 默认情况下,此变量设置为 API 级别 23。
12、ANDROID_PACKAGE_SOURCE_DIR
此变量仅适用于 Android 目标。
指定自定义 Android 包模板的路径。 Android 包模板包含:
- AndroidManifest.xml 文件
- build.gradle 文件和其他 Gradle 脚本
- res/values/libs.xml 文件
此变量指定的路径可以包含 src 目录下的自定义 Java 类。默认情况下,androiddeployqt 工具将应用程序模板从 Qt for Android 安装路径复制到项目的构建目录中,然后它复制此变量指定的路径的内容,覆盖任何现有文件。
13、ANDROID_PERMISSIONS
此变量仅适用于 Android 模块。指定模块的权限列表:
ANDROID_PERMISSIONS += android.permission.ACCESS_FINE_LOCATION
14、ANDROID_TARGET_SDK_VERSION
此变量仅适用于 Android 目标。
指定项目的目标 Android API 级别。 默认情况下,此变量设置为 API 级别 29。
15、ANDROID_VERSION_CODE
此变量仅适用于 Android 目标。指定应用程序的版本号。
16、ANDROID_VERSION_NAME
此变量仅适用于 Android 目标。设置应用程序版本的字符串。
17、CONFIG
指定项目配置和编译器选项。这些值由 qmake 内部识别并具有特殊含义。
以下 CONFIG 值控制编译器和链接器标志:
- release:项目在发布模式下构建。如果还指定了 debug,则最后一个生效。
- debug:项目在调试模式下构建。
- debug_and_release:项目在调试和发布模式下构建。
- debug_and_release_target:此选项是默认设置的。如果还设置了 debug_and_release,则 debug 和 release 构建最终位于单独的 debug 和 release 目录中。
- build_all:如果指定了 debug_and_release,则默认以debug 和release 两种模式构建项目。
- autogen_precompile_source:自动生成一个 .cpp 文件,其中包含 .pro 文件中指定的预编译头文件。
- ordered:当使用 subdirs 模板时,此选项指定列出的目录应该按照它们给出的顺序进行处理。注意:不鼓励使用这个选项。
- precompile_header:支持在项目中使用预编译头。
- precompile_header_c:(仅限 MSVC)支持使用 C 文件的预编译头。
- warn_on:编译器应该输出尽可能多的警告。如果同时指定了warn_off,则最后一个生效。
- warn_off:编译器应该尽可能少地输出警告。
- exceptions:启用异常支持。默认设置。
- exceptions_off:禁用异常支持。
- ltcg:启用链接时间代码生成。 此选项默认关闭。
- rtti:启用 RTTI 支持。默认情况下,使用编译器默认值。
- rtti_off:禁用RTTI 支持。默认情况下,使用编译器默认值。
- stl:启用STL 支持。默认情况下,使用编译器默认值。
- stl_off:禁用STL 支持。默认情况下,使用编译器默认值。
- thread:启用线程支持。当 CONFIG 包含 qt 时启用此功能,这是默认设置。
- no_utf8_source:指定项目的源文件不使用 UTF-8 编码。若不启用此标志则使用编译器默认值。
- hide_symbols:将二进制文件中符号的默认可见性设置为隐藏。默认情况下,使用编译器默认值。
- c99:启用 C99 支持。如果编译器不支持 C99 或无法选择 C ??标准,则此选项无效。默认情况下,使用编译器默认值。
- c11:启用 C11 支持。如果编译器不支持 C11 或无法选择 C ??标准,则此选项无效。默认情况下,使用编译器默认值。
- strict_c:禁用对 C 编译器扩展的支持。 默认情况下,处于启用状态。
- c++11:启用?C++11 支持。如果编译器不支持 C++11 或无法选择 C++ 标准,则此选项无效。默认情况下,支持处于启用状态。
- c++14:启用 C++14 支持。如果编译器不支持 C++14 或无法选择 C++ 标准,则此选项无效。默认情况下,支持处于启用状态。
- c++17:启用 C++17 支持。如果编译器不支持 C++17 或无法选择 C++ 标准,则此选项无效。默认情况下,支持处于启用状态。
- c++20:启用 C++20 支持。如果编译器不支持 C++20 或无法选择 C++ 标准,则此选项无效。默认情况下,支持处于禁用状态。
- c++latest:启用对编译器支持的最新 C++ 语言标准的支持。 默认情况下,此选项处于禁用状态。
- strict_c++:禁用对 C++ 编译器扩展的支持。默认情况下,处于启用状态。
- depend_includepath:将 INCLUDEPATH 的值附加到 DEPENDPATH 。默认启用设置。
- lrelease:对 TRANSLATIONS 和 EXTRA_TRANSLATIONS 中列出的所有文件运行 lrelease。 如果未设置 embed_translations,请将生成的 .qm 文件安装到 QM_FILES_INSTALL_PATH 中。 使用 QMAKE_LRELEASE_FLAGS 向 lrelease 调用添加选项。 默认不设置。
- embed_translations:将 lrelease 生成的翻译嵌入到可执行文件中,在 QM_FILES_RESOURCE_PREFIX 下。还需要设置 lrelease。默认不设置。
- create_libtool:为当前构建的库创建一个 libtool .la 文件。
- create_pc:为当前构建的库创建一个 pkg-config .pc 文件。
- no_batch:关闭 NMake 批处理规则或推理规则的生成。
- skip_target_version_ext:禁止在 Windows 上附加到 DLL 文件名的自动版本号。
- Suppress_vcproj_warnings:禁止 VS 项目生成器的警告。
- windeployqt:链接后自动调用windeployqt,并将输出添加为部署项。
- dont_recurse:支持当前子项目的 qmake 递归。
- no_include_pwd:不将当前目录添加到 INCLUDEPATHS。
- compile_included_sources:默认情况下,qmake 不编译包含在其他源文件中的源文件。此选项禁用此行为。
链接库时,qmake 依赖于底层平台来了解该库链接的其他库。如果是静态链接,除非使用以下 CONFIG 选项,否则 qmake 将不会获得相应信息:
- create_prl:此选项使 qmake 能够跟踪依赖项(其他库)。 启用此选项后,qmake 将创建一个扩展名为 .prl 的文件,该文件将保存有关库的元信息。
- link_prl:启用此选项后,qmake 将处理应用程序链接的所有库并查找它们的元信息。
- no_install_prl:此选项禁用为生成的 .prl 文件生成安装规则。
注意:构建静态库时需要 create_prl 选项,而使用静态库时需要 link_prl 选项。
以下选项定义应用程序或库类型:
- qt:目标是 Qt 应用程序或库,需要 Qt 库和头文件。Qt 库的正确包含和库路径将自动添加到项目中。这是默认定义的。
- x11:目标是 X11 应用程序或库。正确的包含路径和库将自动添加到项目中。
- windows:目标是一个 Win32 窗口应用程序。正确的包含路径、编译器标志和库将自动添加到项目中。
- console:目标是一个 Win32 控制台应用程序。正确的包含路径、编译器标志和库将自动添加到项目中。
- cmdline:目标是一个跨平台的命令行应用程序。在 Windows 上,这意味着 CONFIG += console。在 macOS 上,这意味着 CONFIG -= app_bundle。
- shared、dll:目标是共享对象/DLL。 正确的包含路径、编译器标志和库将自动添加到项目中。dll也可以在所有平台上使用。将创建具有目标平台(.dll 或 .so)的适当后缀的共享库文件。
- static、staticlib:目标是一个静态库(仅限 lib)。正确的编译器标志将自动添加到项目中。
- plugin:目标是一个插件(仅限 lib)。 这也启用了 dll。
- designer:目标是 Qt Designer 的插件。
这些选项仅定义 Windows 上的特定功能:
- flat:当使用 vcapp 模板时,这会将所有源文件放入源组并将头文件放入头组,而不管它们驻留在哪个目录中。关闭此选项将根据目录对源/头组中的文件进行分组放置。这是默认开启的。
- embed_manifest_dll:在作为库项目一部分创建的 DLL 中嵌入清单文件。
- embed_manifest_exe:在作为应用程序项目的一部分创建的 EXE 中嵌入清单文件。
以下选项仅在 macOS 上生效:
- app_bundle:将可执行文件放入一个包中(这是默认设置)。
- lib_bundle:将库放入库包中。
- plugin_bundle:将插件放入插件包中。Xcode 项目生成器不支持此值。
以下选项仅在 Linux/Unix 平台上生效:
- largefile:包括对大文件的支持。
- separate_debug_info:将库的调试信息放在单独的文件中。
18、DEFINES
qmake 将此变量的值添加为编译器 C 预处理器宏。
19、DEFINES_DEBUG
为调试配置指定预处理器定义。加载项目后,此变量的值会添加到 DEFINES 中。
20、DEFINES_RELEASE
为发布配置指定预处理器定义。加载项目后,此变量的值会添加到 DEFINES 中。
对于 MSVC mkspecs,此变量默认包含值 NDEBUG。
21、DEF_FILE
此变量仅在 Windows 上使用应用程序模板时使用。指定要包含在项目中的 .def 文件。
22、DEPENDPATH
指定 qmake 要扫描的目录列表,以确定依赖关系。当 qmake 抓取在源代码中 #include 的头文件时,将使用此变量。
23、DESTDIR
指定放置目标文件的位置。
24、DISTFILES
指定要包含在 dist 目标中的文件列表。此功能仅受 UnixMake 规范支持。
25、DLLDESTDIR
注意:此变量仅适用于 Windows 目标。指定复制目标 dll 的位置。
26、EXTRA_TRANSLATIONS
指定包含用户界面文本翻译成非母语的翻译 (*.ts) 文件列表。
与 TRANSLATIONS 相比,EXTRA_TRANSLATIONS 中的翻译文件将仅由 lrelease 处理,而不是由 lupdate 处理。
可以使用 CONFIG += lrelease 在构建期间自动编译文件,并使用 CONFIG += lrelease embed_translations 使它们在 Qt 资源系统中可用。
27、FORMS
指定在编译前由 uic 处理的 UI 文件。构建这些 UI 文件所需的所有依赖项、头文件和源文件都将自动添加到项目中。
28、GUID
指定在 .vcproj 文件中设置的 GUID。GUID 通常是随机确定的。如果需要固定的 GUID,则可以使用此变量进行设置。
此变量仅特定于 .vcproj 文件; 否则将被忽略。
29、HEADERS
定义项目的头文件。
qmake 会自动检测头文件中的类是否需要 moc,并将相应的依赖项和文件添加到项目中,用于生成和链接 moc 文件。
30、ICON
此变量仅用于在 Mac OS 上设置应用程序图标。
31、IDLSOURCES
此变量仅在 Windows 上用于 Visual Studio 项目生成,以将指定文件放在 Generated Files 文件夹中。
32、INCLUDEPATH
指定编译项目时应搜索的#include 目录。
33、INSTALLS
指定执行 make install 或类似安装过程时将安装的资源列表。列表中的每个项目通常都定义有提供有关安装位置信息的属性。
例如,以下 target.path 定义描述了构建目标的安装位置,并且 INSTALLS 分配将构建目标添加到要安装的现有资源列表中:
target.path += $$[QT_INSTALL_PLUGINS]/imageformats
INSTALLS += target
INSTALLS 有一个 .CONFIG 成员,可以采用几个值:
- no_check_exist:如果未设置,qmake 会查看要安装的文件是否实际存在。如果这些文件不存在,qmake 不会创建安装规则。
- nostrip:如果设置,调试信息将保留在二进制文件中。
- executable:在 Unix 上,这会设置可执行标志。
- no_build:当进行 make install 并且还没有构建项目时,首先构建项目,然后安装。 如果不希望出现此行为,请设置此配置值以确保不会将构建目标添加为安装目标的依赖项。
- no_default_installA:项目有一个顶级项目目标,当执行 make install 时,所有内容都已安装。但是,如果有一个设置了此配置值的安装目标,则默认情况下不会安装它。要安装它必须明确地执行 make install_<file>。
34、JAVA_HOME
此变量仅对 Android 目标有用。指定用于构建项目的JDK/OpenJDK 安装路径。
35、LIBS
指定要链接到项目中的库列表。如果使用 Unix -l(库)和 -L(库路径)标志,qmake 会在 Windows 上正确处理库(即,将库的完整路径传递给链接器)。 该库必须存在以便 qmake 找到 -l lib 所在的目录。
如:
unix:LIBS += -L/usr/local/lib -lmath
win32:LIBS += c:/mylibs/math.lib
36、LIBS_PRIVATE
指定要私下链接到项目中的库列表。此变量的行为与 LIBS 相同,只是为 Unix 构建的共享库项目不在其链接接口中公开这些依赖项。
这样做的结果是,如果项目 C 依赖于库 B 而后者私下依赖于库 A,但 C 也想直接使用来自 A 的符号,则需要显式链接到 A。 换句话说,私有链接的库在构建时不会传递公开。
37、MAKEFILE
指定生成的 Makefile 的名称。
38、MAKEFILE_GENERATOR
指定生成 Makefile 时要使用的 Makefile 生成器的名称。
39、MSVCPROJ_*
这些变量由 qmake 内部处理,不应修改或使用。
40、MOC_DIR
指定应放置所有中间 moc 文件的目录。
41、OBJECTIVE_HEADERS
定义项目的 Objective-C++ 头文件。
qmake 会自动检测头文件中的类是否需要 moc,并将相应的依赖项和文件添加到项目中,用于生成和链接 moc 文件。
这类似于 HEADERS 变量,但会让生成的 moc 文件使用 Objective-C++ 编译器进行编译。
42、OBJECTS
此变量是从 SOURCES 变量自动填充的。每个源文件的扩展名被替换为 .o (Unix) 或 .obj (Win32)。 可以将对象添加到列表中。
43、OBJECTS_DIR
指定应放置所有中间对象的目录。
44、PRECOMPILED_HEADER
表示用于创建预编译头文件的头文件,以提高项目的编译速度。 当前仅在某些平台上支持预编译头文件(Windows - 所有 MSVC 项目类型,Apple - Xcode、Makefile、Unix - gcc 3.3 及更高版本)。
45、PWD
指定指向包含正在解析的当前文件的目录的完整路径。这对于在编写项目文件以支持影子构建时引用源树中的文件很有用。注意:不要试图覆盖这个变量的值。
46、OUT_PWD
指定通向 qmake 放置生成的 Makefile 的目录完整路径。注意:不要试图覆盖此变量的值。
47、QM_FILES_RESOURCE_PREFIX
指定资源系统中 .qm 文件将通过 CONFIG += embed_translations 提供的目录。默认为:/i18n/。
48、QM_FILES_INSTALL_PATH
指定由 CONFIG += lrelease 生成的目标目录 .qm 文件将安装到的连接。如果设置了 CONFIG += embed_translations,则没有任何影响。
49、QMAKE
指定 qmake 程序本身的名称并放置在生成的 Makefile 中。
50、QMAKESPEC
一个系统变量,包含生成 Makefile 时使用的 qmake 配置的完整路径。该变量的值是自动计算的。注意:不要试图覆盖这个变量的值。
51、QMAKE_AR_CMD
此变量仅用于 Unix 平台。指定创建共享库时要执行的命令。
52、QMAKE_BUNDLE_DATA
此变量仅用于 macOS、iOS、tvOS 和 watchOS。
指定将与库包一起安装的数据,通常用于指定头文件的集合。
例如,以下几行将 path/to/header_one.h 和 path/to/header_two.h 添加到包含有关框架提供的标头信息的组中:
FRAMEWORK_HEADERS.version = Versions
FRAMEWORK_HEADERS.files = path/to/header_one.h path/to/header_two.h
FRAMEWORK_HEADERS.path = Headers
QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS
最后一行将有关标头的信息添加到将与库包一起安装的资源集合中。
将 lib_bundle 选项添加到 CONFIG 变量时,会创建库包。
53、QMAKE_BUNDLE_EXTENSION
此变量仅用于 macOS、iOS、tvOS 和 watchOS。
指定要用于库包的扩展。这允许使用自定义扩展名而不是标准的 .framework 目录名称扩展名创建框架。
例如,以下定义将生成带有 .myframework 扩展名的框架:
QMAKE_BUNDLE_EXTENSION = .myframework
54、QMAKE_CC
指定在构建包含 C 源代码的项目时将使用的 C 编译器。只需要指定编译器可执行文件的文件名,只要它在处理 Makefile 时位于 PATH 变量中包含的路径上即可。
55、QMAKE_CFLAGS
指定用于构建项目的 C 编译器标志。可以通过分别修改 QMAKE_CFLAGS_DEBUG 和 QMAKE_CFLAGS_RELEASE 变量来调整特定于调试和发布模式的标志。
56、QMAKE_CFLAGS_DEBUG
为调试版本指定 C 编译器标志。
57、QMAKE_CFLAGS_RELEASE
为发布版本指定 C 编译器标志。
58、QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
为在 CONFIG 中设置 force_debug_info 的发布版本指定 C 编译器标志。
59、QMAKE_CFLAGS_SHLIB
此变量仅用于 Unix 平台。指定用于创建共享库的编译器标志。
60、QMAKE_CFLAGS_THREAD
指定用于创建多线程应用程序的编译器标志。
61、QMAKE_CFLAGS_WARN_OFF
此变量仅在设置了 warn_off?的?CONFIG 选项时使用。
62、QMAKE_CFLAGS_WARN_ON
此变量仅在设置了 warn_on?的?CONFIG 选项时使用。
63、QMAKE_CLEAN
指定生成的文件(例如,通过 moc 和 uic)和要由 make clean 删除的目标文件的列表。
64、QMAKE_CXX
指定在构建包含 C++ 源代码的项目时将使用的 C++ 编译器。只需要指定编译器可执行文件的文件名,只要它在处理 Makefile 时位于 PATH 变量中包含的路径上即可。
65、QMAKE_CXXFLAGS
指定用于构建项目的 C++ 编译器标志。可以通过分别修改 QMAKE_CXXFLAGS_DEBUG 和 QMAKE_CXXFLAGS_RELEASE 变量来调整特定于调试和发布模式的标志。
66、QMAKE_CXXFLAGS_DEBUG
为调试版本指定 C++ 编译器标志。
67、QMAKE_CXXFLAGS_RELEASE
为发布版本指定 C++ 编译器标志。
68、QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO
为在 CONFIG 中设置 force_debug_info 的发布版本指定 C++ 编译器标志。
69、QMAKE_CXXFLAGS_SHLIB
指定用于创建共享库的 C++ 编译器标志。
70、QMAKE_CXXFLAGS_THREAD
指定用于创建多线程应用程序的 C++ 编译器标志。
71、QMAKE_CXXFLAGS_WARN_OFF
指定用于抑制编译器警告的 C++ 编译器标志。
72、QMAKE_CXXFLAGS_WARN_ON
指定用于生成编译器警告的 C++ 编译器标志。
73、QMAKE_DEVELOPMENT_TEAM
此变量仅用于 macOS、iOS、tvOS 和 watchOS。用于签署证书和配置文件的开发团队的标识符。
74、QMAKE_DISTCLEAN
指定要由 make distclean 删除的文件列表。
75、QMAKE_EXTENSION_SHLIB
包含共享库的扩展。注意:更改扩展名的特定于平台的变量会覆盖此变量的内容。
76、QMAKE_EXTENSION_STATICLIB
包含共享静态库的扩展。
77、QMAKE_EXT_MOC
包含用于包含的 moc 文件的扩展名。
78、QMAKE_EXT_UI
包含用于 Qt Designer UI 文件的扩展名。
79、QMAKE_EXT_PRL
包含用于创建的 PRL 文件的扩展名。
80、QMAKE_EXT_LEX
包含用于提供给 Lex 的文件的扩展名。
81、QMAKE_EXT_YACC
包含用于提供给 Yacc 的文件的扩展名。
82、QMAKE_EXT_OBJ
包含用于生成的目标文件的扩展名。
83、QMAKE_EXT_CPP
包含应解释为 C++ 源代码的文件的后缀。
84、QMAKE_EXT_H
包含应解释为 C 头文件的文件的后缀。
85、QMAKE_EXTRA_COMPILERS
指定附加编译器或预处理器的列表。
86、QMAKE_EXTRA_TARGETS
指定附加 qmake 目标的列表。
87、QMAKE_FAILED_REQUIREMENTS
包含失败的需求列表。这个变量的值是由qmake设置的,不能修改。
88、QMAKE_FRAMEWORK_BUNDLE_NAME
此变量仅用于 macOS、iOS、tvOS 和 watchOS。
此变量包含要用于构建(*.framework)的框架的名称。
默认情况下,此变量包含与 TARGET 变量相同的值。
89、QMAKE_FRAMEWORK_VERSION
此变量仅用于 macOS、iOS、tvOS 和 watchOS。
对于构建目标是 macOS、iOS、tvOS 或 watchOS 框架的项目,此变量用于指定将应用于构建的框架的版本号。
默认情况下,此变量包含与 VERSION 变量相同的值。
90、QMAKE_HOST
提供有关运行 qmake 的主机的信息。
- .arch:主机架构
- .os:主机操作系统
- .cpu_count:可用 CPU 数量
- .name:主机名
- .version:主机操作系统版本号
- .version_string:主机操作系统版本字符串
win32-g++:contains(QMAKE_HOST.arch, x86_64):{
message("Host is 64bit")
...
}
91、QMAKE_INCDIR
指定附加到 INCLUDEPATH 的系统头路径列表。
92、QMAKE_INCDIR_EGL
指定在构建具有 OpenGL/ES 或 OpenVG 支持的目标时要添加到 INCLUDEPATH 的 EGL 头文件的位置。
93、QMAKE_INCDIR_OPENGL
指定在构建具有 OpenGL 支持的目标时要添加到 INCLUDEPATH 的 OpenGL 头文件的位置。
如果 OpenGL 实现使用 EGL(大多数 OpenGL/ES 系统),则可能还需要设置 QMAKE_INCDIR_EGL。
94、QMAKE_INCDIR_OPENGL_ES2
此变量指定在构建具有 OpenGL ES 2 支持的目标时要添加到 INCLUDEPATH 的 OpenGL 头文件的位置。
如果 OpenGL 实现使用 EGL(大多数 OpenGL/ES 系统),则可能还需要设置 QMAKE_INCDIR_EGL。
95、QMAKE_INCDIR_OPENVG
指定在构建具有 OpenVG 支持的目标时要添加到 INCLUDEPATH 的 OpenVG 头文件的位置。
如果 OpenVG 实现使用 EGL,则可能还需要设置 QMAKE_INCDIR_EGL。
96、QMAKE_INCDIR_X11
此变量仅用于 Unix 平台。
指定在构建 X11 目标时要添加到 INCLUDEPATH 的 X11 头文件路径的位置。
97、QMAKE_INFO_PLIST
此变量仅用于 macOS、iOS、tvOS 和 watchOS 平台。
指定要包含在 macOS、iOS、tvOS 和 watchOS 应用程序包中的属性列表文件 .plist 的名称。 在 .plist 文件中,您可以定义一些变量,qmake 将用相关值替换这些变量:以下略。
98、QMAKE_IOS_DEPLOYMENT_TARGET
此变量仅在 iOS 平台上使用。指定应用程序支持的最低硬性 iOS 版本。
99、QMAKE_IOS_LAUNCH_SCREEN
此变量仅在 iOS 平台上使用。指定应用程序使用的启动屏幕。如果未设置,则使用默认启动屏幕。
100、QMAKE_LFLAGS
指定传递给链接器的一组通用标志。如果您需要更改用于特定平台或项目类型的标志,请使用专用变量之一来代替此变量。
101、QMAKE_LFLAGS_CONSOLE
此变量仅在 Windows 上使用。指定用于构建控制台程序的链接器标志。
102、QMAKE_LFLAGS_DEBUG
指定调试版本的链接器标志。
103、QMAKE_LFLAGS_PLUGIN
指定用于构建插件的链接器标志。
104、QMAKE_LFLAGS_RPATH
此变量仅用于 Unix 平台。指定使用 QMAKE_RPATHDIR 中的值所需的链接器标志。
105、QMAKE_LFLAGS_REL_RPATH
指定在 QMAKE_RPATHDIR 中启用相对路径所需的链接器标志。
106、QMAKE_REL_RPATH_BASE
指定动态链接器理解为引用可执行文件或库的位置的字符串。
107、QMAKE_LFLAGS_RPATHLINK
指定使用 QMAKE_RPATHLINKDIR 中的值所需的链接器标志。
108、QMAKE_LFLAGS_RELEASE
指定发布版本的链接器标志。
109、QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
为在 CONFIG 中设置 force_debug_info 的发布版本指定链接器标志。
110、QMAKE_LFLAGS_APP
指定用于构建应用程序的链接器标志。
111、QMAKE_LFLAGS_SHLIB
指定用于构建共享库的链接器标志。
112、QMAKE_LFLAGS_SONAME
指定用于设置共享对象名称的链接器标志,例如 .so 或 .dll。
113、QMAKE_LFLAGS_THREAD
指定用于构建多线程项目的链接器标志。
114、QMAKE_LFLAGS_WINDOWS
此变量仅在 Windows 上使用。指定用于构建 Windows GUI 项目(即非控制台应用程序)的链接器标志。
115、QMAKE_LIBDIR
指定所有项目的库搜索路径列表。要在项目文件中指定其他搜索路径,请使用 LIBS。
116、QMAKE_LIBDIR_POST
指定所有项目的系统库搜索路径列表。
117、QMAKE_LIBDIR_FLAGS
此变量仅用于 Unix 平台。指定所有带有 -L 前缀的库目录的位置。
118、QMAKE_LIBDIR_EGL
当 EGL 与 OpenGL/ES 或 OpenVG 一起使用时,指定 EGL 库目录的位置。
119、QMAKE_LIBDIR_OPENGL
指定 OpenGL 库目录的位置。
如果 OpenGL 实现使用 EGL(大多数 OpenGL/ES 系统),则可能还需要设置 QMAKE_LIBDIR_EGL。
120、QMAKE_LIBDIR_OPENVG
指定 OpenVG 库目录的位置。
如果 OpenVG 实现使用 EGL,则可能还需要设置 QMAKE_LIBDIR_EGL。
121、QMAKE_LIBDIR_X11
此变量仅用于 Unix 平台。指定 X11 库目录的位置。
122、QMAKE_LIBS
指定每个项目需要链接的附加库。要在项目文件中指定库,请改用 LIBS。
123、QMAKE_LIBS_PRIVATE
指定每个项目需要链接的其他私有库。
要在库项目文件中指定私有库,请改用 LIBS_PRIVATE。
124、QMAKE_LIBS_EGL
使用 OpenGL/ES 或 OpenVG 构建 Qt 时指定所有 EGL 库。通常的值是 -lEGL。
125、QMAKE_LIBS_OPENGL
指定所有 OpenGL 库。
如果 OpenGL 实现使用 EGL(大多数 OpenGL/ES 系统),则可能还需要设置 QMAKE_LIBS_EGL。
126、QMAKE_LIBS_OPENGL_ES1、QMAKE_LIBS_OPENGL_ES2
这些变量指定了 OpenGL ES 1 和 OpenGL ES 2 的所有 OpenGL 库。
如果 OpenGL 实现使用 EGL(大多数 OpenGL/ES 系统),则可能还需要设置 QMAKE_LIBS_EGL。
127、QMAKE_LIBS_OPENVG
指定所有 OpenVG 库。通常的值是 -lOpenVG。
一些 OpenVG 引擎是在 OpenGL 之上实现的。这将在配置时检测到,并且 QMAKE_LIBS_OPENGL 将隐式添加到 QMAKE_LIBS_OPENVG 链接 OpenVG 库的任何位置。
如果 OpenVG 实现使用 EGL,则可能还需要设置 QMAKE_LIBS_EGL。
128、QMAKE_LIBS_THREAD
此变量仅用于 Unix 平台。指定构建多线程目标时需要链接的所有库。
129、QMAKE_LIBS_X11
此变量仅用于 Unix 平台。指定所有 X11 库。
130、QMAKE_LIB_FLAG
如果指定了 lib 模板,则此变量不为空。
131、QMAKE_LINK
指定构建基于应用程序的项目时将使用的链接器。只需指定链接器可执行文件的文件名,只要它在处理 Makefile 时位于 PATH 变量中包含的路径上即可。
132、QMAKE_LINK_SHLIB_CMD
指定创建共享库时要执行的命令。
133、QMAKE_LN_SHLIB
指定在创建到共享库的链接时要执行的命令。
134、QMAKE_LRELEASE_FLAGS
通过 CONFIG += lrelease 启用时传递给 lrelease 的附加选项列表。
135、QMAKE_OBJECTIVE_CFLAGS
指定用于构建项目的目标 C/C++ 编译器标志。除了 QMAKE_CFLAGS 和 QMAKE_CXXFLAGS 之外,还使用这些标志。
136、QMAKE_POST_LINK
指定将 TARGET 链接在一起后要执行的命令。这个变量也不是?mally 为空,因此不执行任何操作。注意:这个变量对 Xcode 项目没有影响。
137、QMAKE_PRE_LINK
指定在将 TARGET 链接在一起之前要执行的命令。此变量通常为空,因此不会执行任何操作。注意:这个变量对 Xcode 项目没有影响。
138、QMAKE_PROJECT_NAME
此变量仅用于 Visual Studio 项目文件。
在为 IDE 生成项目文件时确定项目的名称。默认值为目标名称。
139、QMAKE_PROVISIONING_PROFILE
此变量仅用于 macOS、iOS、tvOS 和 watchOS。
有效配置文件的 UUID。与 QMAKE_DEVELOPMENT_TEAM 结合使用以指定供应配置文件。
140、QMAKE_MAC_SDK
在 macOS 上构建通用二进制文件时使用此变量。
141、QMAKE_MACOSX_DEPLOYMENT_TARGET
此变量仅在 macOS 平台上使用。指定应用程序支持的最低硬性 macOS 版本。
142、QMAKE_MAKEFILE
指定要创建的 Makefile 的名称。
143、QMAKE_QMAKE
包含 qmake 可执行文件的绝对路径。注意:不要试图覆盖这个变量的值。
144、QMAKE_RESOURCE_FLAGS
此变量用于自定义在使用它的每个构建规则中传递给资源编译器(Resource Compiler (rcc))的选项列表。
例如,以下行确保每次调用 rcc 时都将 -threshold 和 -compress 选项与特定值一起使用:?
QMAKE_RESOURCE_FLAGS += -threshold 0 -compress 9
145、QMAKE_RPATHDIR
此变量仅用于 Unix 平台。
指定在链接时添加到可执行文件的库路径列表,以便在运行时优先搜索路径。
当指定了相对路径时,qmake 会将它们转换成动态链接器理解的与引用可执行文件或库的位置相关的形式。这仅受某些平台(当前基于 Linux 和 Darwin 的平台)支持,并且可以通过检查是否设置了 QMAKE_REL_RPATH_BASE 来检测。
146、QMAKE_RPATHLINKDIR
指定静态链接器的库路径列表以搜索共享库的隐式依赖项。
147、QMAKE_RUN_CC
指定构建对象所需的单个规则。
148、QMAKE_RUN_CC_IMP
指定构建对象所需的单个规则。
149、QMAKE_RUN_CXX
指定构建对象所需的单个规则。
150、QMAKE_RUN_CXX_IMP
指定构建对象所需的单个规则。
151、QMAKE_SONAME_PREFIX
如果已定义,则此变量的值将用作附加到已构建共享库的 SONAME 标识符的路径。SONAME 是动态链接器稍后用于引用库的标识符。通常,此引用可能是库名称或完整的库路径。在 macOS、iOS、tvOS 和 watchOS 上,可以使用以下占位符相对指定路径:
- @rpath:扩展到当前进程可执行文件或引用库中由 LC_RPATH mach-o 命令定义的路径。
- @executable_path:扩展到当前进程的可执行位置。
- @loader_path:扩展到引用的可执行文件或库位置。
在大多数情况下,使用 @rpath 就足够了,推荐使用:
# <project root>/project.pro
QMAKE_SONAME_PREFIX = @rpath
但是,也可以使用不同的占位符或绝对路径来指定前缀,例如以下之一:
# <project root>/project.pro
QMAKE_SONAME_PREFIX = @executable_path/../Frameworks
QMAKE_SONAME_PREFIX = @loader_path/Frameworks
QMAKE_SONAME_PREFIX = /Library/Frameworks
152、QMAKE_TARGET
指定项目目标的名称。
153、QMAKE_TARGET_COMPANY
仅限 Windows。指定项目目标生产商。这在适用的情况下用于将公司名称放入应用程序的属性中(右键->属性->详细信息)。这仅在设置了 VERSION 或 RC_ICONS 变量且未设置 RC_FILE 和 RES_FILE 变量时使用。
154、QMAKE_TARGET_DESCRIPTION
仅限 Windows。指定项目目标的描述。这用于在适用的情况下将描述放入应用程序的属性中。这仅在设置了 VERSION 或 RC_ICONS 变量且未设置 RC_FILE 和 RES_FILE 变量时使用。
155、QMAKE_TARGET_COPYRIGHT
仅限 Windows。指定项目目标的版权信息。这用于在适用的情况下将版权信息放入应用程序的属性中。这仅在设置了 VERSION 或 RC_ICONS 变量且未设置 RC_FILE 和 RES_FILE 变量时使用。
156、QMAKE_TARGET_PRODUCT
仅限 Windows。指定项目目标的产品名称。这在适用的情况下用于将产品放入应用程序的属性中。这仅在设置了 VERSION 或 RC_ICONS 变量且未设置 RC_FILE 和 RES_FILE 变量时使用。
157、QMAKE_TARGET_ORIGINAL_FILENAME
仅限 Windows。指定项目目标的原始文件名。这在适用的情况下用于将原始文件名放入应用程序的属性中。这仅在设置了 VERSION 或 RC_ICONS 变量且未设置 RC_FILE 和 RES_FILE 变量时使用。
158、QMAKE_TARGET_INTERNALNAME
仅限 Windows。指定项目目标的内部名称。这在适用的情况下用于将内部名称放入应用程序的属性中。这仅在设置了 VERSION 或 RC_ICONS 变量且未设置 RC_FILE 和 RES_FILE 变量时使用。
159、QMAKE_TARGET_COMMENTS
仅限 Windows。指定项目目标的注释。这在适用的情况下用于将注释放入应用程序的属性中。这仅在设置了 VERSION 或 RC_ICONS 变量且未设置 RC_FILE 和 RES_FILE 变量时使用。
160、QMAKE_TARGET_TRADEMARKS
仅限 Windows。指定项目目标的商标信息;这在适用的情况下用于将商标信息放入应用程序的属性中。这仅在设置了 VERSION 或 RC_ICONS 变量且未设置 RC_FILE 和 RES_FILE 变量时使用。
161、QMAKE_MANIFEST
仅限 Windows。指定项目目标的清单文件。这仅在未设置 RC_FILE 和 RES_FILE 变量时使用。别忘了把 CONFIG 变量中的 embed_manifest_exe 和 embed_manifest_dll 去掉,否则会和编译器生成的冲突。
162、QMAKE_TVOS_DEPLOYMENT_TARGET
此变量仅在 tvOS 平台上使用。指定应用程序支持的 tvOS 最低硬版本。
163、QMAKE_UIC_FLAGS
此变量用于自定义在使用它的每个构建规则中传递给用户界面编辑器(uic)的选项列表。
164、QMAKE_WATCHOS_DEPLOYMENT_TARGET
此变量仅在 watchOS 平台上使用。指定应用程序支持的 watchOS 最低硬版本。
165、QML_IMPORT_MAJOR_VERSION
指定用于自动生成的 QML 类型注册的主要版本。
166、QML_IMPORT_MINOR_VERSION
自动注册 C++ 中定义的 QML 类型时,请使用此次要版本注册模块的附加版本。通常,要注册的次要版本是从元对象中推断出来的。
如果元对象未更改,并且您仍希望导入具有较新次要版本号的 QML 模块,则可以使用此变量。例如,MyModule 元对象在 1.1 级别,但您希望将模块导入为 1.3。
167、QML_IMPORT_VERSION
将 QML_IMPORT_MAJOR_VERSION 和 QML_IMPORT_MINOR_VERSION 指定为 <major>.<minor> 版本字符串。
168、QML_IMPORT_NAME
指定用于自动生成的 QML 类型注册的模块名称。
169、QML_FOREIGN_METATYPES
指定在生成 qmltypes 文件时要考虑的具有元类型的更多 JSON 文件。当外部库提供直接或作为其他类型的基本类型或属性公开给 QML 的类型时,请使用此选项。
170、QT
指定项目使用的 Qt 模块。
在 C++ 实现级别,使用 Qt 模块使其头文件可用于包含并使其链接到二进制文件。
默认情况下,QT 包含 core 和 gui,确保无需进一步配置即可构建标准的 GUI 应用程序。
如果要构建没有 Qt GUI 模块的项目,则需要使用“-=”运算符排除 gui 值。
以下代码将导致构建一个最小的 Qt 项目:
QT -= gui
171、QTPLUGIN
指定要与应用程序链接的静态 Qt 插件的名称列表,以便它们可用作内置资源。
qmake 会自动添加使用的 Qt 模块通常需要的插件。默认值已调整为最佳的开箱即用体验。
当链接到 Qt 的共享/动态构建或链接库时,此变量当前无效。它可以用于稍后部署动态插件。
172、QT_VERSION
包含 Qt 的当前版本。
173、QT_MAJOR_VERSION
包含 Qt 的当前主要版本。
174、QT_MINOR_VERSION
包含 Qt 的当前次要版本。
175、QT_PATCH_VERSION
包含 Qt 的当前补丁版本。
176、RC_FILE
仅限 Windows。指定目标的 Windows 资源文件 (.rc) 的名称。
177、RC_CODEPAGE
仅限 Windows。指定应在生成的 .rc 文件中指定的代码页。这仅在设置了 VERSION 或 RC_ICONS 变量且未设置 RC_FILE 和 RES_FILE 变量时使用。
178、RC_DEFINES
仅限 Windows。qmake 将此变量的值添加为 RC 预处理器宏(-d 选项)。 如果未设置此变量,则使用 DEFINES 变量代替。
RC_DEFINES += USE_MY_STUFF
179、RC_ICONS
仅限 Windows。 指定应包含在生成的 .rc 文件中的图标。 这仅在未设置 RC_FILE 和 RES_FILE 变量时使用。
180、RC_LANG
仅限 Windows。指定应在生成的 .rc 文件中指定的语言。这仅在设置了 VERSION 或 RC_ICONS 变量且未设置 RC_FILE 和 RES_FILE 变量时使用。
181、RC_INCLUDEPATH
指定传递给 Windows 资源编译器的包含路径。
182、RCC_DIR
指定 Qt 资源编译器(Qt Resource Compiler) 输出文件的目录。
unix:RCC_DIR = ../myproject/resources
win32:RCC_DIR = c:/myproject/resources
183、REQUIRES
指定作为条件进行评估的值列表。 如果任何条件为false,qmake 将在构建时跳过此项目(及其子目录)。
注意:如果想在构建时跳过项目或子项目,则建议使用 requires() 函数。
184、RESOURCES
指定目标的资源收集文件 (qrc) 的名称。
185、RES_FILE
仅限 Windows。指定此目标的 Windows 资源编译器输出文件的名称。?
186、SOURCES
指定项目中所有源文件的名称。
187、SUBDIRS
此变量与 subdirs 模板一起使用时,指定包含需要构建的项目部分的所有子目录或项目文件的名称。使用此变量指定的每个子目录都必须包含其自己的项目文件。
建议每个子目录中的项目文件与子目录本身具有相同的基本名称,因为这样可以省略文件名。 例如,如果子目录名为 myapp,则该目录中的项目文件应名为 myapp.pro。
或者可以指定任何目录中 .pro 文件的相对路径。强烈建议仅指定当前项目的父目录或其子目录中的路径。
例如:
SUBDIRS = kernel \
tools \
myapp
如果需要确保以特定顺序构建子目录,请在相关的 SUBDIRS 元素上使用 .depends 修饰符。例如:
SUBDIRS += my_executable my_library tests doc
my_executable.depends = my_library
tests.depends = my_executable
上面的配置确保 my_library 在 my_executable 之前构建,而 my_executable 在 tests 之前构建。 但是,doc 可以与其他子目录并行构建,从而加快构建过程。
注意:可以列出多个依赖项,它们都将在依赖它们的目标之前构建。
注意:不鼓励使用 CONFIG += ordered,因为它会减慢多核构建的速度。与上面显示的示例不同,即使它们没有依赖关系,所有构建也将按顺序发生。
除了定义构建顺序之外,还可以通过为 SUBDIRS 元素提供额外的修饰符来修改 SUBDIRS 的默认行为。
支持的修饰符是:
- .subdir:使用指定的子目录而不是 SUBDIRS 值。
- .file:明确指定子项目 pro 文件。 不能与 .subdir 修饰符一起使用。
- .depends:这个子项目依赖于指定的子项目。
- .makefile:子项目的makefile。 仅在使用 makefile 的平台上可用。
- .targetBase:字符串,用于与此子项目相关的 makefile 目标。 仅在使用 makefile 的平台上可用。
例如,定义两个子目录,它们都位于与 SUBDIRS 值不同的目录中,并且其中一个子目录必须在另一个子目录之前构建:
SUBDIRS += my_executable my_library
my_executable.subdir = app
my_executable.depends = my_library
my_library.subdir = lib
188、TARGET
指定目标文件的名称。默认情况下包含项目文件的基本名称。
例如:
TEMPLATE = app
TARGET = myapp
SOURCES = main.cpp
上面的项目文件将在 unix 上生成一个名为 myapp 的可执行文件,在 Windows 上生成一个名为 myapp.exe 的可执行文件。
189、TARGET_EXT
指定 TARGET 的扩展名。
190、TARGET_x
使用主版本号指定 TARGET 的扩展。
191、TARGET_x.y.z
使用版本号指定 TARGET 的扩展名。
192、TEMPLATE
指定生成项目时使用的模板名称。
允许的值为:?
- app:创建用于构建应用程序的 Makefile(默认)。
- lib:创建用于构建库的 Makefile。
- subdirs:创建用于在子目录中构建目标的 Makefile。子目录是使用 SUBDIRS 变量指定的。
- aux:为不构建任何内容的项目创建一个 Makefile。 如果不需要调用编译器来创建目标,请使用此选项。例如,项目是用解释性语言编写的。注意:此模板类型仅适用于基于 Makefile 的生成器。 特别是,它不适用于 vcxproj 和 Xcode 生成器。
- vcapp:仅限 Windows。为 Visual Studio 创建应用程序项目。
- vclib:仅限 Windows。为 Visual Studio 创建库项目。
193、TRANSLATIONS
指定包含用户界面文本翻译成非母语的翻译 (.ts) 文件列表。
TRANSLATIONS 中的翻译文件将由 lrelease 和 Using lupdate 工具处理。如果只想 lrelease 处理文件,请使用 EXTRA_TRANSLATIONS。
可以使用 CONFIG += lrelease 在构建期间自动编译文件,并使用 CONFIG += lrelease embed_translations 使它们在 Qt 资源系统中可用。
194、UI_DIR
指定应放置 uic 中的所有中间文件的目录。
195、VERSION
如果指定了应用程序模板,则指定应用程序的版本号。
如果指定了 lib 模板,则指定库的版本号。
在 Windows 上,如果未设置 RC_FILE 和 RES_FILE 变量,则触发 .rc 文件的自动生成。生成的 .rc 文件将包含 FILEVERSION 和 PRODUCTVERSION 条目,其中包含主要、次要、补丁级别和内部版本号。每个数字必须在 0 到 65535 的范围内。
196、VERSION_PE_HEADER
仅限 Windows。指定版本号,Windows 链接器通过 -VERSION 选项将其放入 .exe 或 .dll 文件的标头中。只能指定主要和次要版本。如果未设置 VERSION_PE_HEADER,则从 VERSION(如果设置)回退到主要和次要版本。
VERSION_PE_HEADER = 1.2
197、VER_MAJ
如果指定了 lib 模板,则指定库的主要版本号。
198、VER_MIN
如果指定了 lib 模板,则指定库的次要版本号。
199、VER_PAT
如果指定了 lib 模板,则指定库的补丁版本号。
200、VPATH
告诉 qmake 在哪里搜索它无法打开的文件。 例如,如果 qmake 查找 SOURCES 并找到无法打开的条目,则它会查看整个 VPATH 列表以查看是否可以自行找到该文件。
201、WINDOWS_TARGET_PLATFORM_VERSION
指定目标 Windows 版本。这对应于 vcxproj 文件中的标记 WindowsTargetPlatformVersion。
在桌面 Windows 上,默认值是环境变量 WindowsSDKVersion 的值。
202、WINDOWS_TARGET_PLATFORM_MIN_VERSION
指定 Windows 目标平台的最低版本。这对应于 vcxproj 文件中的标记 WindowsTargetPlatformMinVersion。
默认为 WINDOWS_TARGET_PLATFORM_VERSION。
?203、YACCSOURCES
指定要包含在项目中的 Yacc 源文件列表。 所有依赖项、头文件和源文件都将自动包含在项目中。
YACCSOURCES = moc.y
204、_PRO_FILE_
包含正在使用的项目文件的路径。
例如,以下行导致将项目文件的位置写入控制台:
message($$_PRO_FILE_)
注意:不要试图覆盖这个变量的值。
205、_PRO_FILE_PWD_
包含包含正在使用的项目文件的目录的路径。
例如,以下行会导致将包含项目文件的目录的位置写入控制台:
message($$_PRO_FILE_PWD_)
注意:不要试图覆盖这个变量的值。
|