日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

qmake:变量手册

發布時間:2023/12/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 qmake:变量手册 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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 = libCONFIG += pluginPLUGIN_TYPE = imageformatsDESTDIR = $$top_builddir/plugins/mypluginTARGET = $$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]/imageformatsINSTALLS += 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 -lmathwin32: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 = VersionsFRAMEWORK_HEADERS.files = path/to/header_one.h path/to/header_two.hFRAMEWORK_HEADERS.path = HeadersQMAKE_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_DEBUGQMAKE_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_DEBUGQMAKE_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_ES1QMAKE_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.proQMAKE_SONAME_PREFIX = @rpath

但是,也可以使用不同的占位符或絕對路徑來指定前綴,例如以下之一:

# <project root>/project.proQMAKE_SONAME_PREFIX = @executable_path/../FrameworksQMAKE_SONAME_PREFIX = @loader_path/FrameworksQMAKE_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/resourceswin32: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 docmy_executable.depends = my_librarytests.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_librarymy_executable.subdir = appmy_executable.depends = my_librarymy_library.subdir = lib

188、TARGET

指定目標文件的名稱。默認情況下包含項目文件的基本名稱。

例如:

TEMPLATE = appTARGET = myappSOURCES = 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_)

注意:不要試圖覆蓋這個變量的值。

總結

以上是生活随笔為你收集整理的qmake:变量手册的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。