変数

qmakeの基本的な動作は、各プロジェクトのビルドプロセスを定義する変数宣言に影響されます。これらの中には、ヘッダやソースファイルなど、各プラットフォームに共通なリソースを宣言するものもあります。その他は、特定のプラットフォームにおけるコンパイラやリンカの動作をカスタマイズするために使用されます。

プラットフォーム固有の変数は、拡張または変更する変数の命名パターンに従いますが、その名前には関連するプラットフォームの名前が含まれます。例えば、makespec ではQMAKE_LIBS を使って各プロジェクトがリンクする必要のあるライブラリのリストを指定し、QMAKE_LIBS_X11 を使ってこのリストを拡張します。

ANDROID_ABIS

メモ: この変数はAndroidターゲットにのみ適用される。

AndroidターゲットのABIのリストを指定する。有効な値は、armeabi-v7a、arm64-v8a、x86、x86_64である。

ABIはqmakeの引数として指定できます:

qmake ANDROID_ABIS="armeabi-v7a arm64-v8a"

注: *.proファイル内でこの変数を使用することは可能ですが、qmake コマンドラインで指定されたABIを上書きしてしまうため、推奨されません。

android_api_version

注: この変数はAndroidターゲットにのみ適用されます。

Android APIレベル番号を指定する。詳細については、Androidのビルド番号を参照してください。

android_application_arguments

注: この変数はAndroidターゲットにのみ適用されます。

AndroidManifest.xml 、"android.app.arguments "タグを使用して、Androidアプリに対する追加のコマンドライン引数を指定する。これは引数の文字列を取る:

ANDROID_APPLICATION_ARGUMENTS = "arg1 arg2 arg3"

android_bundled_jar_dependencies

注意: この変数はAndroidモジュールにのみ適用されます。

Qtモジュールを書くときに便利です。例えば、.jar 形式で、モジュールで使われるバンドル済みの依存関係のリストを指定します:

ANDROID_BUNDLED_JAR_DEPENDENCIES += jar/Qt6Android.jar

android_deployment_dependencies

注意: この変数はAndroidターゲットにのみ適用されます。

デフォルトでは、androiddeployqtはアプリケーションの依存関係を検出します。しかし、プラグインのランタイム使用は検出できないため、アプリケーションが潜在的な依存関係にあるプラグインに依存している可能性があり、誤検出する可能性があります。APK のサイズを最小化したい場合は、this 変数を使用して自動検出をオーバーライドすることが可能です。この変数には、インクルードする必要があるすべての Qt ファイルのリストを、Qt のインストールルートからの相対パスで指定します。

注意: この変数で指定された Qt ファイルのみがインクルードされます。正しいファイルをすべてインクルードしないと、クラッシュする可能性があります。また、ファイルが正しいロード順序でリストされていることを確認することも重要です。この変数は自動検出を完全にオーバーライドする方法を提供するので、ライブラリが依存関係より先にリストされていると、デバイスによってはロードに失敗します。

android_deployment_settings_file

注: この変数はAndroidターゲットにのみ適用されます。

androiddeployqtと androidtestrunner が必要とするandroid-deployment-settings.json ファイルへのパスを指定する。これはqmakeによって生成された設定ファイルへのパスを上書きするので、有効な設定ファイルを提供する必要がある。

android_extra_libs

注意: この変数はAndroidターゲットにのみ適用されます。

アプリケーションのlibs フォルダーにコピーされ、起動時にロードされる外部ライブラリーのリスト。これは例えば、アプリケーションでOpenSSLを有効にするために使用できます。詳細については、Android用の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

android_extra_plugins

注: この変数はAndroidターゲットにのみ適用されます。

QMLプラグインなど、アプリケーションがバンドルしなければならないが、アセットシステムを通じて配信できないC++プラグインやリソースへのパスを指定します。この変数を指定すると、androiddeployqtはすべてが適切にパッケージ化され、デプロイされるようにします。

ANDROID_EXTRA_PLUGINS は、追加プラグインがビルドされるディレクトリを指す必要があります。さらに、ビルドディレクトリの構造はQtプラグインに似た命名規則、つまりplugins/<プラグイン名>に従わなければなりません。

プラグイン・ライブラリはlibplugins_<種類>_<名前>_<abi>.soという形式でなければなりません。これを実現するために、plugin 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

android_features

注意: この変数はAndroidモジュールにのみ適用されます。

モジュールの機能リストを指定します:

ANDROID_FEATURES += android.hardware.location.gps

詳しくは、Android <uses-feature> Docsを参照してください。

android_lib_dependencies

Note: この変数はAndroidモジュールにのみ適用されます。

Qtモジュールを書くときに便利です。例えば、モジュールで使われるビルド済みの依存関係のリストを指定します:

ANDROID_LIB_DEPENDENCIES += \
    plugins/libplugins_platforms_qtforandroid.so

android_min_sdk_version

注意: この変数はAndroidターゲットにのみ適用されます。

プロジェクトの最小Android APIレベルを指定する。デフォルトでは、この変数はAPIレベル23に設定される。

android_package_source_dir

注: この変数はAndroidターゲットにのみ適用される。

カスタムAndroidパッケージテンプレートのパスを指定する。Androidパッケージ・テンプレートには以下が含まれます:

  • AndroidManifest.xmlファイル
  • build.gradleファイルおよびその他のGradleスクリプト
  • res/values/libs.xmlファイル

この変数で指定されたパスには、src ディレクトリの下にカスタムJavaクラスを含めることができます。デフォルトでは、androiddeployqtツールはQt for Androidのインストールパスからアプリケーションテンプレートをプロジェクトのビルドディレクトリにコピーし、その上にこの変数で指定されたパスの内容を既存のファイルを上書きしてコピーします。例えば、アプリケーションのカスタムAndroidManifest.xml を作成し、これをこの変数で指定されたディレクトリに直接置くことができます。

アンドロイドパーミッション

注意: この変数はAndroidモジュールにのみ適用されます。

モジュールのパーミッションリストを指定する:

ANDROID_PERMISSIONS += android.permission.ACCESS_FINE_LOCATION

詳細については、Android <uses-permission> Docsを参照してください。

android_target_sdk_version

注: この変数はAndroidターゲットにのみ適用されます。

プロジェクトのターゲットAndroid APIレベルを指定する。デフォルトでは、この変数はAPIレベル34に設定されている。

android_version_code

注: この変数はAndroidターゲットにのみ適用されます。

アプリケーションのバージョン番号を指定する。詳細については、Androidアプリのバージョン管理を参照してください。

アンドロイドバージョン名

注: この変数はAndroidターゲットにのみ適用されます。

アプリケーションのバージョンを人間が読める文字列で指定します。詳細については、Androidアプリのバージョン管理を参照してください。

CONFIG

プロジェクトのコンフィギュレーションとコンパイラのオプションを指定します。値はqmakeによって内部的に認識され、特別な意味を持ちます。

注: 値は大文字と小文字を区別します。

以下のCONFIG の値は、コンパイラとリンカのフラグを制御します:

オプション説明
リリースプロジェクトをリリース・モードでビルドします。debug も指定すると、最後のものが有効になります。
デバッグプロジェクトをデバッグモードでビルドします。
debug_and_releaseプロジェクトはデバッグモードとリリースモードの両方でビルドされるように準備されています。
debug_and_release_targetこのオプションはデフォルトで設定されています。debug_and_release もセットされている場合、デバッグとリリースのビルドは別々のデバッグ・ディレクトリとリリース・ディレクトリになります。
build_alldebug_and_release を指定すると、プロジェクトはデフォルトでデバッグとリリースの両方のモードでビルドされます。
autogen_precompile_source.pro ファイルで指定されたプリコンパイルされたヘッダーファイルを含む.cpp ファイルを自動的に生成します。
注文済みsubdirs テンプレートを使用する場合、このオプションは、リストされたディレクトリを指定された順序で処理するように指定します。

注意: このオプションの使用は推奨されません。SUBDIRS変数の説明に従って依存関係を指定してください。

precompile_headerプロジェクトでプリコンパイルされたヘッダを使用できるようにする。
precompile_header_c (MSVC のみ)C ファイルでコンパイル済みヘッダを使用できるようにします。
warn_onコンパイラーができるだけ多くの警告を出力するようにします。warn_off も指定すると、最後のものが有効になる。
warn_offコンパイラーはできるだけ警告を出力しない。
例外例外サポートを有効にする。デフォルトで設定される。
例外オフ例外サポートを無効にする。
ltcgリンク・タイム・コード生成を有効にする。このオプションはデフォルトではオフである。
rttiRTTIサポートを有効にする。デフォルトでは、コンパイラのデフォルトが使用される。
rtti_offRTTIサポートを無効にする。デフォルトでは、コンパイラのデフォルトが使用される。
stlSTL サポートを有効にします。デフォルトでは、コンパイラのデフォルトが使用されます。
stl_offSTL サポートを無効にする。デフォルトでは、コンパイラのデフォルトが使用される。
スレッドスレッドのサポートを有効にします。これは、CONFIG にqt が含まれている場合に有効になります(デフォルト)。
no_utf8_sourceプロジェクトのソース・ファイルに UTF-8 エンコードを使用しないことを指定します。代わりに、コンパイラのデフォルトが使用されます。
hide_symbolsバイナリ中のシンボルのデフォルトの可視性を非表示に設定します。デフォルトでは、コンパイラのデフォルトが使用されます。
c99C99 サポートを有効にします。このオプションは、コンパイラがC99をサポートしていない場合、またはC標準を選択できない場合には効果がありません。デフォルトでは、コンパイラのデフォルトが使用されます。
c11C11サポートを有効にします。このオプションは、コンパイラが C11 をサポートしていない場合、または C 標準を選択できない場合には、何の効果もありません。デフォルトでは、コンパイラのデフォルトが使用されます。
c17C18としても知られるC17のサポートを有効にします。このオプションは、コンパイラが C17 をサポートしていない場合、または C 標準を選択できない場合には、何の効果もありません。デフォルトでは、コンパイラのデフォルトが使用されます。
c18これはc17 の値のエイリアスです。
strict_cCコンパイラ拡張のサポートを無効にする。デフォルトでは有効になっています。
c++11C++11 サポートを有効にします。このオプションは、コンパイラが C++11 をサポートしていない場合、または C++ 標準を選択できない場合には、何の効果もありません。デフォルトでは、サポートが有効になっています。
c++14C++14 サポートを有効にします。このオプションは、コンパイラが C++14 をサポートしていない場合、または C++ 標準を選択できない場合には、何の効果もありません。デフォルトでは、サポートが有効になっています。
c++17C++17 サポートを有効にします。このオプションは、コンパイラが C++17 をサポートしていない場合、または C++ 標準を選択できない場合には、何の効果もありません。デフォルトでは、サポートが有効になっています。
c++1zc++17 の廃止されたエイリアス。
c++20C++20 サポートを有効にします。コンパイラが C++20 をサポートしていない場合、または C++ 規格を選択できない場合、このオプションは無効です。デフォルトでは、サポートは無効になっています。
c++2ac++20 の古いエイリアス。
c++latest最新の C++ 言語標準のサポートを有効にします。このオプションは、/std:c++latest コンパイラ引数をサポートする MSVC で主に役立ちます。他のツールチェーンでは、このオプションは Qt が知っている最新の C++ 標準を有効にします。デフォルトでは、このオプションは無効になっています。
strict_c++C++ コンパイラ拡張のサポートを無効にします。デフォルトでは有効になっています。
depend_includepathINCLUDEPATHの値をDEPENDPATHに追加することを有効にする。デフォルトで設定されている。
リリースTRANSLATIONSおよびEXTRA_TRANSLATIONSにリストされているすべてのファイルに対してlreleaseembed_translations が設定されていない場合は、生成された .qm ファイルを QM_FILES_INSTALL_PATH にインストールします。QMAKE_LRELEASE_FLAGS を使用して lrelease 呼び出しにオプションを追加します。デフォルトでは設定されていません。
embed_translationslrelease から生成された翻訳をQM_FILES_RESOURCE_PREFIX の下にある実行ファイルに埋め込みます。lrelease も設定されている必要があります。デフォルトでは設定されていません。
libtoolの作成現在ビルドされているライブラリの libtool .la ファイルを作成します。
create_pc現在ビルドされているライブラリの pkg-config .pc ファイルを作成する。
no_batchNMake のみ:NMake バッチルールまたは推論ルールの生成をオフにします。
skip_target_version_extWindows で DLL ファイル名に付加される自動バージョン番号を抑制します。
suppress_vcproj_warningsVS プロジェクトジェネレーターの警告を抑制する。
windeployqtリンク後に自動的に windeployqt を起動し、出力をデプロイ項目として追加します。
dont_recurse現在のサブプロジェクトの qmake 再帰を抑制する。
no_include_pwd現在のディレクトリを INCLUDEPATHS に追加しません。
コンパイル済みソースデフォルトでは、qmake は他のソースファイルにインクルードされているソースファイルをコンパイルしません。このオプションはこの動作を無効にします。

debug_and_release オプション(Windows ではデフォルト)を使用すると、プロジェクトは 3 回処理されます。1 回は「メタ」Makefile を生成し、もう 2 回は Makefile.Debug と Makefile.Release を生成します。

後者のパスでは、build_passdebug またはrelease オプションがCONFIG に追加されます。 これにより、ビルド固有のタスクを実行できるようになります。例えば

build_pass:CONFIG(debug, debug|release) {
    unix: TARGET = $$join(TARGET,,,_debug)
    else: TARGET = $$join(TARGET,,,d)
}

例えば、一般的なQMAKE_LFLAGS に加えてQMAKE_LFLAGS_RELEASE のようなものです。これらは利用可能であれば使用すべきである。

meta Makefile はサブビルドをdebugrelease ターゲットで起動可能にし、複合ビルドをall ターゲットで起動可能にします。build_all CONFIG オプションが使われている場合、複合ビルドがデフォルトとなる。そうでない場合は、セット (debug,release) から最後に指定されたCONFIG オプションがデフォルトとなる。この場合、all ターゲットを明示的に呼び出して、両方のコンフィギュレーションを一度にビルドすることができる:

make all

注: Visual Studio と Xcode プロジェクトを作成する場合、詳細は若干異なります。

ライブラリをリンクする場合、qmakeは、このライブラリが他のどのライブラリに対してリンクしているかを知るために、基礎となるプラットフォームに依存します。しかし、静的にリンクする場合、以下のCONFIG オプションを使用しない限り、qmake はこの情報を取得しません:

オプション説明
create_prlこのオプションは、qmakeがこれらの依存関係を追跡できるようにします。このオプションが有効な場合、qmake は.prl という拡張子のファイルを作成し、ライブラリに関するメタ情報を保存します(詳しくはライブラリの依存関係を参照してください)。
link_prlこのオプションが有効な場合、qmake はアプリケーションによってリンクされたすべてのライブラリを処理し、そのメタ情報を検索します (詳細は「ライブラリの依存関係」を参照)。
no_install_prlこのオプションは、生成された .prl ファイルのインストールルールの生成を無効にします。

注意: create_prl オプションは静的ライブラリをビルドするときに必要で、link_prl は静的ライブラリを使用するときに必要です。

以下のオプションは、アプリケーションまたはライブラリのタイプを定義します:

オプション説明
qtターゲットは Qt アプリケーションまたはライブラリであり、Qt ライブラリとヘッダー・ファイルが必要です。Qt ライブラリの適切なインクルード・パスとライブラリ・パスが自動的にプロジェクトに追加されます。これはデフォルトで定義されており、QT変数で微調整できる。
x11ターゲットはX11アプリケーションまたはライブラリです。適切なインクルード・パスとライブラリが自動的にプロジェクトに追加されます。
テストケースターゲットは自動テストです。テストを実行するためのチェックターゲットが生成された Makefile に追加されます。Makefile を生成するときにのみ関連します。
insignificant_test自動テストの終了コードは無視されます。testcase も設定されている場合にのみ関連する。
windowsターゲットはWin32ウィンドウアプリケーションです(アプリのみ)。適切なインクルード・パス、コンパイラ・フラグ、ライブラリが自動的にプロジェクトに追加されます。
コンソールターゲットはWin32コンソール・アプリケーションです(アプリのみ)。適切なインクルード・パス、コンパイラー・フラグ、ライブラリーが自動的にプロジェクトに追加されます。クロスプラットフォーム・アプリケーションには、cmdline オプションの使用を検討してください。
cmdlineターゲットはクロスプラットフォームのコマンドラインアプリケーションです。Windowsでは、これはCONFIG += console を意味します。macOSでは、これはCONFIG -= app_bundle を意味します。
sharedターゲットは共有オブジェクト/DLLです。適切なインクルード・パス、コンパイラ・フラグ、ライブラリが自動的にプロジェクトに追加されます。dll はすべてのプラットフォームで使用できることに注意してください。ターゲット・プラットフォームに適した接尾辞(.dll または .so)を持つ共有ライブラリ・ファイルが作成されます。
dll
スタティックターゲットはスタティック・ライブラリ(libのみ)です。適切なコンパイラ・フラグが自動的にプロジェクトに追加されます。
staticlib
プラグインターゲットはプラグイン(libのみ)。dllも有効になります。
デザイナーターゲットはQt Widgets Designer 用のプラグインです。
no_lflags_mergeLIBS 変数に格納されているライブラリのリストが、使用前に一意な値のリストにならないようにします。
メタタイプ現在のプロジェクト用に<name>_metatypes.json ファイルを作成します。<name>TARGET の小文字のベース名です。
qmltypesC++で定義されたQML型を自動的に登録する。詳細は「C++からQML型を定義する」を参照。また、現在のプロジェクト用に<template>.qmltypes ファイルを作成します。<template>plugin が設定されていればplugins (歴史的な理由により複数形)、そうでなければTEMPLATEの値になります。qmltypesmetatypes を意味します。

これらのオプションは、Windows上でのみ特定の機能を定義します:

オプション説明
フラットvcappテンプレートを使用するとき、すべてのソースファイルをソースグループに、ヘッダーファイルをヘッダーグループに置きます。このオプションをオフにすると、ファイルが存在するディレクトリに応じて、ソース/ヘッダーグループにグループ化されます。デフォルトではオンになっています。
embed_manifest_dllライブラリ・プロジェクトの一部として作成される DLL にマニフェスト・ファイルを埋め込みます。
embed_manifest_exeアプリケーション・プロジェクトの一部として作成される EXE にマニフェスト・ファイルを埋め込みます。

マニフェスト・ファイルを埋め込むためのオプションの詳細については、「プラットフォーム・ノート」を参照してください。

以下のオプションは macOS でのみ有効です:

オプション説明
app_bundle実行可能ファイルをバンドルに入れます(これがデフォルトです)。
lib_bundleライブラリをライブラリバンドルに入れます。
プラグインバンドルプラグインをプラグインバンドルに入れます。この値は、Xcode プロジェクトジェネレータではサポートされていません。

バンドルのビルドプロセスは、QMAKE_BUNDLE_DATA変数の内容にも影響されます。

以下のオプションは、Linux/Unix プラットフォームでのみ有効です:

オプション説明
ラージファイルラージファイルのサポートを含みます。
separate_debug_infoライブラリのデバッグ情報を別ファイルにする。

CONFIG 変数はスコープの解決時にもチェックされます。この変数には何を代入してもよい。

例えば

CONFIG += console newstuff
...
newstuff {
    SOURCES += new.cpp
    HEADERS += new.h
}

DEFINES

qmakeはこの変数の値をコンパイラCプリプロセッサマクロとして追加します(-Dオプション)。

例えば

DEFINES += USE_MY_STUFF

DEFINES_DEBUG

デバッグ構成用のプリプロセッサ定義を指定します。この変数の値は、プロジェクトがロードされた後にDEFINESに追加されます。この変数は通常qmake.confで設定され、ほとんど変更する必要はありません。

この変数はQt 5.13.2で導入されました。

defines_release

リリースコンフィギュレーションのプリプロセッサ定義を指定します。この変数の値は、プロジェクトがロードされた後にDEFINESに追加されます。この変数は通常qmake.confで設定され、ほとんど変更する必要はありません。

注意: MSVC mkspecの場合、この変数にはデフォルトで値NDEBUG が格納されます。

この変数は Qt 5.13.2 で導入されました。

DEF_FILE

注: この変数は、app テンプレートを使うときに、Windows でのみ使われます。

プロジェクトに含める.def ファイルを指定します。

DEPENDPATH

依存関係を解決するためにqmakeがスキャンするディレクトリのリストを指定する。この変数は、qmake がソースコード内のヘッダーファイル#include をクロールするときに使用されます。

DESTDIR

ターゲットファイルを置く場所を指定する。

例えば

DESTDIR = ../../lib

注意: サポートされる文字のリストは、使用するビルドツールに依存します。特に、括弧はmake では動作しません。

DISTFILES

distターゲットに含めるファイルのリストを指定します。この機能はUnixMake仕様でのみサポートされています。

例えば

DISTFILES += ../program.txt

DLLDESTDIR

注意: この変数はWindowsターゲットにのみ適用されます。

ターゲットのDLLをコピーする場所を指定します。

extra_translations

ユーザー・インターフェース・テキストの非ネイティブ言語への翻訳を含む翻訳ファイル(.ts)のリストを指定します。

TRANSLATIONSとは対照的に、EXTRA_TRANSLATIONS の翻訳ファイルはlupdate ではなくlrelease でのみ処理されます。

CONFIG += lrelease を使用すると、ビルド時に自動的にファイルをコンパイルすることができ、CONFIG += lrelease embed_translations を使用すると、Qt Resource System で翻訳ファイルを利用できるようになります。

Qtの国際化(i18n)とローカライゼーション(l10n)の詳細については、Qt Linguist マニュアルを参照してください。

FORMS

コンパイル前にuic で処理される UI ファイル (Qt Widgets Designer Manual を参照) を指定します。これらの UI ファイルをビルドするために必要なすべての依存関係、ヘッダー、ソースファイルが自動的にプロジェクトに追加されます。

例えば

FORMS = mydialog.ui \
    mywidget.ui \
        myconfig.ui

GUID

.vcproj ファイル内に設定される GUID を指定します。GUIDは通常ランダムに決定されます。しかし、固定のGUIDが必要な場合は、この変数を使って設定することができる。

この変数は.vcproj ファイル専用である。

HEADERS

プロジェクトのヘッダーファイルを定義します。

qmakeはヘッダ内のクラスでmocが必要かどうかを自動的に検出し、mocファイルの生成とリンクのために適切な依存関係とファイルをプロジェクトに追加します。

例えば

HEADERS = myclass.h \
          login.h \
          mainwindow.h

SOURCES も参照してください。

アイコン

この変数はMac OS上で、アプリケーション・アイコンを設定するためにのみ使用されます。詳細はアプリケーション・アイコンのドキュメントを参照してください。

IDLSOURCES

この変数は、Visual Studioのプロジェクト生成でGenerated Filesフォルダに指定されたファイルを置くために、Windows上でのみ使用されます。

インクルード・パス

プロジェクトのコンパイル時に検索する#includeディレクトリを指定します。

例えば

INCLUDEPATH = c:/msdev/include d:/stl/include

空白を含むパスを指定するには、「空白」で説明したテクニックを使用してパスを引用符で囲みます。

win32:INCLUDEPATH += "C:/mylibs/extra headers"
unix:INCLUDEPATH += "/home/user/extra headers"

INSTALLS

make install または同様のインストール手順が実行されたときにインストールされるリソースのリストを指定します。リストの各項目は通常、インストールされる場所に関する情報を提供する属性で定義されます。

例えば、以下のtarget.path 定義では、ビルド・ターゲットがインストールされる場所を記述し、INSTALLS 割り当てでは、インストールされる既存のリソースのリストにビルド・ターゲットを追加します:

target.path += $$[QT_INSTALL_PLUGINS]/imageformats
INSTALLS += target

INSTALLS には メンバがあり、いくつかの値を取ることができます:.CONFIG

値 説明
no_check_exist設定されていない場合、qmake はインストールするファイルが実際に存在するかどうかを確認します。ファイルが存在しない場合、qmake はインストールルールを作成しません。qdoc によって作成された HTML ファイルのように、ビルドプロセスの一部として生成されたファイルをインストールする必要がある場合に、この設定値を使用します。
ノストリップ設定された場合、典型的な Unix のストリップ機能はオフになり、デバッグ情報はバイナリに残ります。
実行可能Unix では、実行可能フラグを設定します。
no_buildmake install を実行し、プロジェクトのビルドがまだない場合、プロジェクトはまずビルドされ、それからインストールされます。この動作を望まない場合は、この設定値を設定して、ビルドターゲットがインストールターゲットの依存関係として追加されないようにします。
no_default_installプロジェクトにはトップレベルのプロジェクトターゲットがあり、make install を実行すると、すべてがインストールされます。しかし、この設定値が設定されたインストールターゲットがある場合、デフォルトではインストールされません。その場合、明示的にmake install_<file> と言う必要があります。

詳細は、ファイルのインストールを参照してください。

この変数は、組み込みデバイスにデプロイされる追加ファイルを指定するためにも使用されます。

JAVA_HOME

注: この変数は、Androidターゲットにのみ有用である。

プロジェクトのビルドに使用するJDK/OpenJDKのインストールパスを指定する。

LEXIMPLS

Lex実装ファイルのリストを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどない。

LEXOBJECTS

Lexの中間オブジェクトファイルの名前を指定する。この変数の値は通常qmakeによって扱われ、ほとんど変更する必要はない。

LEXSOURCES

Lexソースファイルのリストを指定します。すべての依存関係、ヘッダ、ソースファイルは、これらのlexファイルをビルドするためのプロジェクトに自動的に追加されます。

例えば

LEXSOURCES = lexer.l

LIBS

プロジェクトにリンクするライブラリのリストを指定します。Unixの-l (ライブラリ)と-L(ライブラリパス)フラグを使用すると、qmakeはWindows上でライブラリを正しく処理します(つまり、ライブラリのフルパスをリンカに渡します)。qmakeが-l libのあるディレクトリを見つけるためには、ライブラリが存在しなければなりません。

例えば

unix:LIBS += -L/usr/local/lib -lmath
win32:LIBS += c:/mylibs/math.lib

空白を含むパスを指定するには、「空白」で説明したテクニックを使用してパスを引用符で囲みます。

win32:LIBS += "C:/mylibs/extra libs/extra.lib"
unix:LIBS += "-L/home/user/extra libs" -lextra

デフォルトでは、LIBS に格納されているライブラリのリストは、使用される前に一意な名前のリストに縮小されます。この動作を変更するには、CONFIG変数にno_lflags_merge オプションを追加する:

CONFIG += no_lflags_merge

LIBS_PRIVATE

プロジェクトにプライベートでリンクするライブラリのリストを指定する。この変数の動作はLIBSと同じですが、Unix用にビルドされた共有ライブラリ・プロジェクトは、リンク・インターフェースでこれらの依存関係を公開しません。

この結果、プロジェクトCがライブラリAにプライベートリンクされているライブラリBに依存しているが、CもAのシンボルを直接使用したい場合、明示的にAにリンクする必要があります。別の言い方をすれば、プライベートでリンクされたライブラリは、ビルド時に移行的に公開されることはありません。

LITERAL_HASH

この変数は、変数宣言でリテラル・ハッシュ文字(# )が必要なときに使用される。ファイル名の一部や、外部アプリケーションに渡される文字列で使用される。

例えば

# To include a literal hash character, use the $$LITERAL_HASH variable:
urlPieces = http://doc.qt.io/qt-5/qtextdocument.html pageCount
message($$join(urlPieces, $$LITERAL_HASH))

このようにLITERAL_HASH を使うと、message() 関数がコンソールに出力する URL を構築するために、# 文字を使うことができる。

MAKEFILE

生成される Makefile の名前を指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

makefile_generator

Makefile を生成するときに使用する Makefile ジェネレータの名前を指定します。この変数の値は通常 qmake によって内部的に処理され、ほとんど変更する必要はありません。

MSVCPROJ_*

これらの変数は qmake によって内部的に処理されるため、変更したり利用したりするべきではありません。

MOC_DIR

すべての中間 moc ファイルを置くディレクトリを指定する。

例えば

unix:MOC_DIR = ../myproject/tmp
win32:MOC_DIR = c:/myproject/tmp

objective_headers

プロジェクトのObjective-C++ヘッダーファイルを定義します。

qmakeは自動的にmocがヘッダ内のクラスで必要かどうかを検出し、mocファイルを生成してリンクするために適切な依存関係とファイルをプロジェクトに追加します。

これは HEADERS 変数と似ていますが、生成された moc ファイルを Objective-C++ コンパイラでコンパイルできるようにします。

OBJECTIVE_SOURCESも参照してください。

オブジェクト・ソース

プロジェクト内のすべてのObjective-C/C++ソース・ファイルの名前を指定します。

Objective-C/C++ファイル(.mと.mm)はSOURCES変数に追加できます。

OBJECTIVE_HEADERSも参照してください。

OBJECTS

この変数はSOURCES変数から自動的に入力されます。各ソースファイルの拡張子は.o(Unix)または.obj(Win32)に置き換えられます。リストにオブジェクトを追加することができます。

OBJECTS_DIR

すべての中間オブジェクトを置くディレクトリを指定します。

例えば

unix:OBJECTS_DIR = ../myproject/tmp
win32:OBJECTS_DIR = c:/myproject/tmp

post_targetdeps

ターゲットが依存するライブラリをリストします。Visual Studio や Xcode プロジェクトファイルのジェネレータのようないくつかのバックエンドは、この変数をサポートしていません。一般的に、この変数はこれらのビルドツールによって内部的にサポートされており、依存する静的ライブラリを明示的にリストするのに便利です。

このリストは、すべてのビルトイン(および$$PRE_TARGETDEPS)の依存関係の後に置かれます。

PRE_TARGETDEPS

ターゲットが依存するライブラリをリストします。Visual Studio や Xcode プロジェクトファイルのジェネレータなど、一部のバックエンドはこの変数をサポートしていません。一般的に、この変数はこれらのビルドツールによって内部的にサポートされており、依存する静的ライブラリを明示的にリストするのに便利です。

このリストは、すべての組み込み依存ライブラリの前に置かれます。

precompiled_header

プロジェクトのコンパイル速度を上げるために、プリコンパイルされたヘッダーファイルを作成するためのヘッダーファイルを示します。プリコンパイルされたヘッダは、現在一部のプラットフォームでのみサポートされています (Windows - すべての MSVC プロジェクト・タイプ、Apple - Xcode、Makefile、Unix - gcc 3.3 以上)。

PWD

現在解析されているファイルを含むディレクトリへのフルパスを指定します。これは、シャドウビルドをサポートするプロジェクトファイルを記述するときに、ソースツリー内のファイルを参照するのに便利です。

PRO_FILE_PWD_も参照してください。

注意: この変数の値を上書きしないでください。

OUT_PWD

qmake が生成した Makefile を置くディレクトリへのフルパスを指定します。

注意: この変数の値を上書きしないでください。

qm_files_resource_prefix

CONFIG += embed_translations によって.qm ファイルが利用可能になるリソースシステム内のディレクトリを指定します。

デフォルトは:/i18n/ です。

qm_files_install_path

CONFIG += lreleaseで生成された.qm ファイルをインストールするディレクトリを指定します。CONFIG += embed_translationsが設定されている場合は影響しません。

qml_import_path

この変数は Qt Creator.Qtのインストレーションの外に置いてあるモジュールがある場合、そのパスをここに指定することができます。

詳しくはQt Creator: Using QML Modules with Pluginsを参照してください。

QMLPATHS

QML モジュールのツリーのルートディレクトリを指す import パスのリストを期待します。例えば、QMLモジュールの場所をカスタムで決めている場合は、ここで指定することができます。

注意: QMLPATHSのパスエントリはQMLモジュールのツリーのルートディレクトリを指します。これはQMLエンジンが理解するインポートパスの概念です。同じパスをQML_IMPORT_PATH 環境変数経由でQMLアプリケーションに渡すことができますが、QML_IMPORT_PATH qmake変数が期待する内容とは異なります。QML_IMPORT_PATH qmakeはQt Creator で処理される個々のモジュールへのパスのみを想定しています。

注意: QMLPATHSの内容は自動的にアプリケーションに渡されるわけではありません。むしろ、ビルド時にのみ使用されます。特に、qmlimportscannerはQMLPATHSを使って、 アプリケーションがインポートするQMLモジュールを探します。

QMAKE

qmakeプログラム自体の名前を指定し、生成されるMakefileに配置されます。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。

QMAKESPEC

Makefile を生成するときに使用される qmake 設定のフルパスを含むシステム変数。この変数の値は自動的に計算されます。

注意: この変数の値を上書きしようとしないでください。

qmake_apple_device_archs

注意: この変数は macOS でのみ使用されます。

ビルドするアーキテクチャのリストを指定します。デフォルトでは、プロジェクトは開発マシンのアーキテクチャに合わせてビルドされます。この変数を使用すると、デフォルトをオーバーライドして別のアーキテクチャ用にビルドしたり、マルチアーキテクチャ・バイナリを作成したりできます。

この変数は通常、コマンドラインかプロジェクトファイルで指定します。

詳細はQt for macOSを参照してください。

QMAKE_AR_CMD

注意: この変数は Unix プラットフォームでのみ使用されます。

共有ライブラリの作成時に実行するコマンドを指定します。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_bundle_data

注: この変数はmacOS、iOS、tvOS、watchOSでのみ使用されます。

ライブラリバンドルと一緒にインストールされるデータを指定し、ヘッダーファイルのコレクションを指定するためによく使われます。

例えば、以下の行では、path/to/header_one.hpath/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

最後の行は、ライブラリバンドルと一緒にインストールされるリソースのコレクションにヘッダーに関する情報を追加します。

CONFIG変数にlib_bundle オプションが追加されると、ライブラリバンドルが作成されます。

ライブラリバンドルの作成についての詳細はPlatform Notes を参照してください。

プロジェクトはこの変数を使ってアプリケーションの翻訳ファイルをバンドルすることもできます。正確な構文は、プロジェクトが Xcode のレガシービルドシステムを使用しているか、新しいビルドシステムを使用しているかに依存します。

例えば、以下のプロジェクトスニペットがレガシービルドシステムを使用してビルドされている場合:

translations_en.files = $$PWD/en.lproj/InfoPlist.strings
translations_en.path = en.lproj
QMAKE_BUNDLE_DATA += translations_en

Xcode は、InfoPlist.strings の元の場所を無視し、ファイルは、提供されたtranslations_en.path パスの下のバンドルResources ディレクトリに配置されます。Resources/en.lproj/InfoPlist.strings

新しいビルドシステムでは、ファイルの相対的な場所は保持されます。Resources/en.lproj/en.lproj/InfoPlist.strings

ファイルが正しく配置されるようにするには、プロジェクトは元のファイルをサブディレクトリに移動しないようにするか、translations_en.path 変数を指定しないようにします。

# Approach 1
translations_en.files = $$PWD/InfoPlist.strings
translations_en.path = en.lproj

# Approach 2
translations_de.files = $$PWD/de.lproj/InfoPlist.strings

QMAKE_BUNDLE_DATA += translations_en translations_de

Xcode のビルドシステムが翻訳ファイルをバンドルする際の動作をどのように変更したかの詳細については、QTBUG-98417を参照してください。

qmake_bundle_extension

Note: この変数は、macOS、iOS、tvOS、watchOS でのみ使用されます。

ライブラリバンドルに使用する拡張子を指定します。これにより、標準の.framework ディレクトリ名拡張子の代わりに、カスタム拡張子でフレームワークを作成できるようになります。

例えば、以下の定義は、.myframework の拡張子を持つフレームワークになります:

QMAKE_BUNDLE_EXTENSION = .myframework

QMAKE_CC

C ソースコードを含むプロジェクトをビルドするときに使用する C コンパイラーを指定します。Makefile が処理されるときにPATH 変数に含まれるパス上にある限り、コンパイラー実行ファイルのファイル名のみを指定する必要があります。

QMAKE_CFLAGS

プロジェクトをビルドするためのCコンパイラ・フラグを指定します。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。デバッグモードとリリースモードに固有のフラグは、それぞれQMAKE_CFLAGS_DEBUGQMAKE_CFLAGS_RELEASE 変数を変更することで調整できます。

qmake_cflags_debug

デバッグ・ビルド用のCコンパイラー・フラグを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_cflags_release

リリースビルド用の C コンパイラフラグを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

qmake_cflags_release_with_debuginfo

CONFIGforce_debug_info が設定されているリリースビルドの C コンパイラフラグを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_cflags_shlib

注意: この変数は Unix プラットフォームでのみ使用される。

共有ライブラリを作成するためのコンパイラフラグを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。

qmake_cflags_thread

マルチスレッドアプリケーションを作成するためのコンパイラフラグを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。

qmake_cflags_warn_off

この変数はwarn_off CONFIGオプションが設定されている場合にのみ使用される。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

qmake_cflags_warn_on

この変数はwarn_on CONFIGオプションが設定されている場合にのみ使われる。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

QMAKE_CLEAN

(mocuic などによって) 生成されたファイルと、make clean によって削除されるオブジェクトファイルのリストを指定する。

QMAKE_CXX

C++ ソース・コードを含むプロジェクトをビルドするときに使用する C++ コンパイラを指定します。Makefile が処理されるときにPATH 変数に含まれるパス上にある限り、コンパイラー実行ファイルのファイル名のみを指定する必要があります。

QMAKE_CXXFLAGS

プロジェクトをビルドするための C++ コンパイラ・フラグを指定します。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。デバッグモードとリリースモードに固有のフラグは、それぞれQMAKE_CXXFLAGS_DEBUG 変数とQMAKE_CXXFLAGS_RELEASE 変数を変更することで調整できます。

qmake_cxxflags_debug

デバッグ・ビルド用の C++ コンパイラー・フラグを指定します。この変数の値は通常qmakeまたはqmake.confによって処理されるため、変更する必要はほとんどありません。

qmake_cxxflags_release

リリースビルド用の C++ コンパイラーフラグを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_cxxflags_release_with_debuginfo

CONFIGforce_debug_info が設定されているリリースビルド用の C++ コンパイラフラグを指定します。この変数の値は通常qmakeまたはqmake.confによって処理されるため、変更する必要はほとんどありません。

qmake_cxxflags_shlib

共有ライブラリを作成するための C++ コンパイラーフラグを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_cxxflags_thread

マルチスレッドアプリケーションを作成するための C++ コンパイラフラグを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。

qmake_cxxflags_warn_off

コンパイラの警告を抑制するための C++ コンパイラ・フラグを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_cxxflags_warn_on

コンパイラ警告を生成するための C++ コンパイラフラグを指定する。この変数の値は通常 qmake またはqmake.confによって処理され、ほとんど変更する必要はありません。

qmake_development_team

注: この変数はmacOS、iOS、tvOS、watchOSでのみ使用されます。

証明書の署名とプロファイルのプロビジョニングに使用する開発チームの識別子。

qmake_distclean

make distclean で削除するファイルのリストを指定する。

qmake_extension_shlib

共有ライブラリの拡張子を指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

注意: 拡張機能を変更するプラットフォーム固有の変数は、この変数の内容を上書きします。

qmake_extension_staticlib

共有スタティックライブラリの拡張子を格納します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

QMAKE_EXT_MOC

インクルードされた moc ファイルで使用される拡張子が格納されます。

ファイル拡張子も参照してください。

QMAKE_EXT_UI

Qt Widgets Designer UI ファイルで使用される拡張子。

ファイル拡張子」も参照してください。

QMAKE_EXT_PRL

作成された PRL ファイルで使用される拡張子が含まれています。

ファイル拡張子ライブラリの依存関係も参照してください。

QMAKE_EXT_LEX

Lex に渡されたファイルに使用される拡張子が格納される。

ファイル拡張子LEXSOURCES も参照してください。

QMAKE_EXT_YACC

Yacc に渡されるファイルで使用される拡張子が格納される。

ファイル拡張子YACCSOURCES も参照。

QMAKE_EXT_OBJ

生成されたオブジェクト・ファイルで使用される拡張子を保持します。

ファイル拡張子も参照してください。

QMAKE_EXT_CPP

C++ ソース・コードとして解釈されるファイルのサフィックスを含んでいます。

ファイル拡張子」も参照してください。

QMAKE_EXT_H

C ヘッダーファイルとして解釈されるファイルのサフィックスを含んでいます。

ファイル拡張子も参照。

qmake_extra_compilers

追加のコンパイラまたはプリプロセッサのリストを指定します。

コンパイラの追加 も参照。

qmake_extra_targets

追加の qmake ターゲットの一覧を指定します。

カスタムターゲットの追加」も参照してください。

qmake_failed_requirements

失敗した要件のリストを格納します。この変数の値は qmake によって設定され、変更することはできません。

requires()およびREQUIRES も参照してください。

qmake_framework_bundle_name

Note: この変数はmacOS、iOS、tvOS、watchOSでのみ使用されます。

フレームワークプロジェクトでは、この変数に、ビルドされるフレームワークに使われる名前が格納されます。

デフォルトでは、この変数にはTARGET変数と同じ値が格納される。

フレームワークとライブラリバンドルの作成についての詳細は、フレームワークの作成を参照してください。

qmake_framework_version

注: この変数はmacOS、iOS、tvOS、watchOSでのみ使用されます。

ビルドターゲットがmacOS、iOS、tvOS、watchOSフレームワークであるプロジェクトでは、この変数を使用して、ビルドされるフレームワークに適用されるバージョン番号を指定します。

デフォルトでは、この変数にはVERSION変数と同じ値が格納されます。

フレームワークの作成の詳細については、フレームワークの作成を参照してください。

QMAKE_HOST

qmake を実行しているホストマシンに関する情報を提供します。例えば、QMAKE_HOST.arch からホストマシンのアーキテクチャを取得できます。

キー
.archホストのアーキテクチャ
.osホストのOS
.cpu_count使用可能なCPU数
.名前ホスト・コンピュータ名
バージョンホストOSのバージョン番号
.version_stringホストOSのバージョン文字列
win32-g++:contains(QMAKE_HOST.arch, x86_64):{
    message("Host is 64bit")
    ...
}

QMAKE_INCDIR

INCLUDEPATH に追加されるシステムヘッダーパスのリストを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_incdir_egl

OpenGL/ESまたはOpenVGをサポートするターゲットをビルドするときに、INCLUDEPATHに追加するEGLヘッダーファイルの場所を指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_incdir_opengl

OpenGL サポートのターゲットをビルドするときにINCLUDEPATHに追加する OpenGL ヘッダファイルの場所を指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。

OpenGLの実装がEGLを使用する場合(ほとんどのOpenGL/ESシステム)、QMAKE_INCDIR_EGLも設定する必要があるかもしれません。

qmake_incdir_opengl_es2

この変数は、OpenGL ES 2をサポートするターゲットをビルドするときに、INCLUDEPATHに追加されるOpenGLヘッダーファイルの場所を指定します。

この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。

OpenGLの実装がEGLを使用する場合(ほとんどのOpenGL/ESシステム)、QMAKE_INCDIR_EGLも設定する必要があるかもしれません。

qmake_incdir_openvg

OpenVGをサポートするターゲットをビルドするときにINCLUDEPATHに追加するOpenVGヘッダーファイルの場所を指定します。この変数の値は通常 qmake またはqmake.confによって処理され、ほとんど変更する必要はありません。

OpenVG の実装が EGL を使う場合は、QMAKE_INCDIR_EGL も設定する必要があるかもしれません。

qmake_incdir_x11

注意: この変数は Unix プラットフォームでのみ使用されます。

X11ターゲットをビルドするときにINCLUDEPATHに追加するX11ヘッダーファイルのパスの場所を指定します。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_info_plist

注意: この変数はmacOS、iOS、tvOS、watchOSプラットフォームでのみ使用されます。

macOS、iOS、tvOS、および watchOS アプリケーションバンドルに含めるプロパティリストファイルの名前.plist を指定します。

.plist ファイルでは、qmake が関連する値に置き換える変数を定義できます:

プレースホルダー効果
${PRODUCT_BUNDLE_IDENTIFIER},@BUNDLEIDENTIFIER@ターゲットバンドルのバンドル識別子文字列に展開します。例:com.example.myapp.QMAKE_TARGET_BUNDLE_PREFIXQMAKE_BUNDLE の値をフルストップ (.) で区切って連結したものです。QMAKE_BUNDLE の値は、QMAKE_APPLICATION_BUNDLE_NAME,QMAKE_PLUGIN_BUNDLE_NAME, またはQMAKE_FRAMEWORK_BUNDLE_NAME から派生します。 プロジェクトによって直接設定されるべきではありません。
${EXECUTABLE_NAME} @EXECUTABLE@@LIBRARY@QMAKE_APPLICATION_BUNDLE_NAME、QMAKE_PLUGIN_BUNDLE_NAME、またはQMAKE_FRAMEWORK_BUNDLE_NAMEの値(作成されるターゲットのタイプによる)、または以前の値が設定されていない場合はTARGETに相当します。
${ASSETCATALOG_COMPILER_APPICON_NAME},@ICON@ICONの値に拡張する。
${QMAKE_PKGINFO_TYPEINFO},@TYPEINFO@QMAKE_PKGINFO_TYPEINFOの値に拡張されます。
${QMAKE_FULL_VERSION},@FULL_VERSION@3つのバージョンコンポーネントで表現されるVERSIONの値に展開されます。
${QMAKE_SHORT_VERSION},@SHORT_VERSION@2つのバージョンコンポーネントで表現されるVERSIONの値に展開されます。
${MACOSX_DEPLOYMENT_TARGET}QMAKE_MACOSX_DEPLOYMENT_TARGET の値に展開されます。
${IPHONEOS_DEPLOYMENT_TARGET}QMAKE_IPHONEOS_DEPLOYMENT_TARGETの値に展開されます。
${TVOS_DEPLOYMENT_TARGET}QMAKE_TVOS_DEPLOYMENT_TARGETの値に展開します。
${WATCHOS_DEPLOYMENT_TARGET}QMAKE_WATCHOS_DEPLOYMENT_TARGETの値に展開されます。
${IOS_LAUNCH_SCREEN}QMAKE_IOS_LAUNCH_SCREENの値に拡張します。

注: Xcodeジェネレーターを使用する場合、上記の${var}-スタイルのプレースホルダーは、Xcodeビルドシステムによって直接置き換えられ、qmakeでは処理されません。@var@ スタイルのプレースホルダーは、qmake Makefile ジェネレーターでのみ動作し、Xcode ジェネレーターでは動作しません。

iOS用にビルドする場合で、.plist ファイルにNSPhotoLibraryUsageDescription というキーが含まれている場合、qmake はビルドにフォトアクセスのサポートを追加するプラグインを含めます(例えば、QFile/QFileDialog )。このキーに関する詳細は、AppleのInfo.plistドキュメントを参照してください。

注意: ほとんどの場合、デフォルトのInfo.plist で十分です。

qmake_ios_deployment_target

Note: この変数はiOSプラットフォームでのみ使用されます。

アプリケーションがサポートするiOSのハード最小バージョンを指定します。

詳しくはサポートするiOSバージョンの表現 を参照してください。

qmake_ios_launch_screen

注: この変数はiOSプラットフォームでのみ使用されます。

アプリケーションが使用する起動画面を指定します。これが設定されていない場合は、デフォルトの起動画面が使用されます。

QMAKE_LFLAGS

リンカに渡されるフラグの一般的なセットを指定します。特定のプラットフォームやプロジェクトの種類に応じて使用するフラグを変更する必要がある場合は、この変数ではなく、その目的に特化した変数を使用してください。

qmake_lflags_console

注意: この変数は Windows でのみ使用されます。

コンソールプログラムをビルドするときのリンカフラグを指定する。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_lflags_debug

デバッグビルド用のリンカーフラグを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

qmake_lflags_plugin

プラグインをビルドするためのリンカーフラグを指定する。この変数の値は通常 qmake またはqmake.confによって処理され、ほとんど変更する必要はない。

qmake_lflags_rpath

注意: この変数は Unix プラットフォームでのみ使用されます。

QMAKE_RPATHDIR の値を使うために必要なリンカフラグを指定します。

この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_lflags_rel_rpath

QMAKE_RPATHDIR で相対パスを有効にするために必要なリンカーフラグを指定します。

この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

qmake_rel_rpath_base

ダイナミックリンカーが参照する実行ファイルまたはライブラリの場所として理解する文字列を指定します。

この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。

QMAKE_RPATHLINKDIR の値を使用するために必要なリンカーフラグを指定します。

この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_lflags_release

リリースビルド用のリンカーフラグを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

qmake_lflags_release_with_debuginfo

CONFIGforce_debug_info が設定されているリリースビルド用のリンカーフラグを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_lflags_app

アプリケーションをビルドするためのリンカーフラグを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

qmake_lflags_shlib

共有ライブラリのビルドに使われるリンカフラグを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

qmake_lflags_soname

.so や .dll といった共有オブジェクトの名前を設定するためのリンカーフラグを指定する。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_lflags_thread

マルチスレッドプロジェクトをビルドするためのリンカーフラグを指定する。この変数の値は通常 qmake またはqmake.confによって処理され、ほとんど変更する必要はありません。

qmake_lflags_windows

注意: この変数は Windows でのみ使用される。

Windows GUI プロジェクト(つまり、非コンソールアプリケーション)をビルドするときのリンカーフラグを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。

QMAKE_LIBDIR

すべてのプロジェクトのライブラリ検索パスのリストを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。

プロジェクトファイルに追加の検索パスを指定するには、代わりにLIBSを使用してください:

LIBS += -L/path/to/libraries

qmake_libdir_post

すべてのプロジェクトのシステムライブラリの検索パスのリストを指定します。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_libdir_flags

注意: この変数は Unix プラットフォームでのみ使用されます。

接頭辞に -L が付いたすべてのライブラリディレクトリの場所を指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどない。

qmake_libdir_egl

EGLがOpenGL/ESまたはOpenVGとともに使われる場合に、EGLライブラリディレクトリの場所を指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_libdir_opengl

OpenGLライブラリディレクトリの場所を指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

OpenGLの実装がEGLを使用する場合(ほとんどのOpenGL/ESシステム)、QMAKE_LIBDIR_EGLも設定する必要があるかもしれません。

qmake_libdir_openvg

OpenVGライブラリディレクトリの場所を指定します。この変数の値は通常 qmake またはqmake.confによって処理され、ほとんど変更する必要はありません。

OpenVG の実装が EGL を使っている場合は、QMAKE_LIBDIR_EGL も設定する必要があるかもしれません。

qmake_libdir_x11

注意: この変数は Unix プラットフォームでのみ使用されます。

X11ライブラリディレクトリの場所を指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

QMAKE_LIBS

各プロジェクトがリンクする必要のある追加のライブラリを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

プロジェクトファイルでライブラリを指定するには、代わりにLIBSを使います。

qmake_libs_private

各プロジェクトがリンクする必要のある追加のプライベートライブラリを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。

ライブラリプロジェクトファイルでプライベートライブラリを指定するには、代わりにLIBS_PRIVATEを使用してください。

QMAKE_LIBS_EGL

OpenGL/ESまたはOpenVGでQtをビルドするときに、すべてのEGLライブラリを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。通常の値は-lEGL です。

qmake_libs_opengl

すべてのOpenGLライブラリを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

OpenGLの実装がEGLを使う場合(ほとんどのOpenGL/ESシステム)、QMAKE_LIBS_EGLも設定する必要があるかもしれません。

qmake_libs_opengl_es1, qmake_libs_opengl_es2

これらの変数は、OpenGL ES 1とOpenGL ES 2のすべてのOpenGLライブラリを指定します。

これらの変数の値は、通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。

OpenGL実装がEGLを使用する場合(ほとんどのOpenGL/ESシステム)、QMAKE_LIBS_EGLも設定する必要があるかもしれません。

qmake_libs_openvg

すべてのOpenVGライブラリを指定します。この変数の値は通常 qmake またはqmake.confによって処理され、ほとんど変更する必要はありません。通常の値は-lOpenVG です。

いくつかのOpenVGエンジンはOpenGLの上に実装されています。これは configure 時に検出され、OpenVG ライブラリがリンクされる場所では QMAKE_LIBS_OPENVG に QMAKE_LIBS_OPENGL が暗黙的に追加されます。

OpenVG の実装が EGL を使用している場合は、QMAKE_LIBS_EGL も設定する必要があるかもしれません。

qmake_libs_thread

注意: この変数は Unix プラットフォームでのみ使用されます。

マルチスレッドターゲットをビルドするときにリンクする必要のあるすべてのライブラリを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

QMAKE_LIBS_X11

注意: この変数は Unix プラットフォームでのみ使用されます。

すべてのX11ライブラリを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。

QMAKE_LIB_FLAG

lib テンプレートが指定されている場合、この変数は空ではありません。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

アプリケーションベースのプロジェクトをビルドするときに使用するリンカを指定します。Makefile が処理されるときにPATH 変数に含まれるパス上にある限り、リンカの実行ファイル名のみを指定する必要があります。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。

共有ライブラリを作成するときに実行するコマンドを指定する。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。

QMAKE_LN_SHLIB

共有ライブラリへのリンクを作成するときに実行するコマンドを指定する。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_lrelease_flags

CONFIG += lrelease で有効にした場合にlreleaseに渡される追加オプションのリスト。

qmake_objective_cflags

プロジェクトをビルドする際の Objective C/C++ コンパイラー・フラグを指定します。これらのフラグは、QMAKE_CFLAGS および QMAKE_CXXFLAGS に加えて使用されます。

qmake_post_link

TARGETをリンクした後に実行するコマンドを指定します。この変数は通常は空であるため、何も実行されない。

注意: この変数は、Xcodeプロジェクトには影響しません。

TARGETをリンクする前に実行するコマンドを指定します。この変数は通常空であるため、何も実行されない。

警告 この変数は、Xcode ジェネレータと新しい Xcode ビルドシステムを使用する際にはサポートされていません。

qmake_project_name

注意: この変数は、Visual Studio プロジェクトファイルのみに使用されます。

IDE用のプロジェクトファイルを生成するときのプロジェクト名を決定します。デフォルト値はターゲット名です。この変数の値は通常qmakeによって処理され、変更する必要はほとんどありません。

qmake_provisioning_profile

注: この変数はmacOS、iOS、tvOS、watchOSでのみ使用されます。

有効なプロビジョニングプロファイルのUUID。プロビジョニング・プロファイルを指定するには、QMAKE_DEVELOPMENT_TEAMと組み合わせて使用します。

注: プロビジョニング・プロファイルを指定すると、自動的に管理される署名が無効になります。

QMAKE_MAC_SDK

この変数は、macOS でユニバーサルバイナリをビルドするときに使用します。

qmake_macosx_deployment_target

注意: この変数は macOS プラットフォームでのみ使用されます。

アプリケーションがサポートするmacOSのハード最小バージョンを指定します。

詳細については、macOSサポートバージョンを参照してください。

QMAKE_MAKEFILE

作成するMakefileの名前を指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

QMAKE_QMAKE

qmake 実行ファイルの絶対パス。

注意: この変数の値を上書きしないでください。

qmake_resource_flags

この変数は、ビルドルールの中で Resource Compilerに渡されるオプションのリストをカスタマイズするために使用されます。例えば、次の行はrcc が呼び出されるたびに-threshold-compress のオプションが特定の値で使われるようにします:

QMAKE_RESOURCE_FLAGS += -threshold 0 -compress 9

QMAKE_RPATHDIR

注意: この変数はUnixプラットフォームでのみ使用されます。

QMAKE_RPATHDIR 注意:この変数はUnixプラットフォームでのみ使用されます。実行時に優先的にパスが検索されるように、リンク時に実行ファイルに追加されるライブラリのパスのリストを指定します。

相対パスが指定された場合、qmake は参照する実行ファイルやライブラリの位置からの相対パスであるとダイナミックリンカが理解できる形に整形します。これは一部のプラットフォーム(現在のところ Linux と Darwin ベースのもの)のみでサポートされており、QMAKE_REL_RPATH_BASE が設定されているかどうかをチェックすることで検出できます。

qmake_rpathlinkdir

スタティックリンカーが共有ライブラリの暗黙の依存関係を検索するためのライブラリパスのリストを指定します。詳細については、ld(1) のマニュアル・ページを参照してください。

QMAKE_RUN_CC

オブジェクトのビルドに必要な個々のルールを指定します。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_run_cc_imp

オブジェクトのビルドに必要な個々のルールを指定する。この変数の値は通常 qmake またはqmake.confによって処理され、ほとんど変更する必要はありません。

QMAKE_RUN_CXX

オブジェクトのビルドに必要な個々のルールを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。

qmake_run_cxx_imp

オブジェクトのビルドに必要な個々のルールを指定します。この変数の値は通常 qmake またはqmake.confによって処理され、ほとんど変更する必要はありません。

qmake_soname_prefix

定義されている場合、この変数の値はビルドされた共有ライブラリのSONAME 識別子の前に付加されるパスとして使用されます。SONAME は、後でダイナミックリンカーがライブラリを参照するために使用する識別子です。一般に、この参照はライブラリ名またはフル・ライブラリ・パスである。macOS、iOS、tvOS、watchOSでは、以下のプレースホルダを使用して相対的にパスを指定できます:

プレースホルダプレースホルダー
パス現在のプロセスの実行ファイルまたは参照ライブラリの LC_RPATH mach-o コマンドで定義されたパスに展開します。
実行可能パス現在のプロセスの実行ファイルの場所に展開します。
ローダパス参照する実行ファイルまたはライブラリの場所に展開する。

ほとんどの場合、@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

詳細については、ダイナミック・ライブラリのインストール名に関するdyldのドキュメントを参照してください。

QMAKE_TARGET

プロジェクト・ターゲットの名前を指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

qmake_target_company

Windows のみ。プロジェクトターゲットの会社を指定します。これは、アプリケーションのプロパティに会社名を入れるために使用されます。これは、VERSION変数またはRC_ICONS変数が設定され、RC_FILE変数とRES_FILE変数が設定されていない場合にのみ使用されます。

qmake_target_description

Windowsのみ。プロジェクト・ターゲットの説明を指定します。これは、アプリケーションのプロパティに説明を記述するために使用されます。これは、VERSION変数またはRC_ICONS変数が設定され、RC_FILE変数とRES_FILE変数が設定されていない場合にのみ使用されます。

Windowsのみ。プロジェクト・ターゲットの著作権情報を指定します。これは、アプリケーションのプロパティに著作権情報を記述するために使用されます。これは、VERSION変数またはRC_ICONS変数が設定され、RC_FILE変数とRES_FILE変数が設定されていない場合にのみ使用されます。

qmake_target_product

Windowsのみ。プロジェクト・ターゲットの製品を指定します。これは、アプリケーションのプロパティに製品を記述するために使用されます。これは、VERSION変数またはRC_ICONS変数が設定され、RC_FILE変数とRES_FILE変数が設定されていない場合にのみ使用されます。

qmake_target_original_filename

Windowsのみ。プロジェクト・ターゲットのオリジナル・ファイル名を指定します。アプリケーションのプロパティにオリジナル・ファイル名を記述する場合に使用します。これは、VERSION変数またはRC_ICONS変数が設定され、RC_FILE変数とRES_FILE変数が設定されていない場合にのみ使用されます。

qmake_target_internalname

Windowsのみ。プロジェクト・ターゲットの内部名を指定します。これは、アプリケーションのプロパティに内部名を記述するために使用されます。これは、VERSION変数またはRC_ICONS変数が設定され、RC_FILE変数とRES_FILE変数が設定されていない場合にのみ使用されます。

qmake_target_comments

Windowsのみ。プロジェクト・ターゲットのコメントを指定します。これは、アプリケーションのプロパティにコメントを入れるために使用されます。これは、VERSION変数またはRC_ICONS変数が設定され、RC_FILE変数とRES_FILE変数が設定されていない場合にのみ使用されます。

qmake_target_trademarks

Windowsのみ。プロジェクト・ターゲットの商標情報を指定します。これは、アプリケーションのプロパティに商標情報を入れるために使用されます。これは、VERSION変数またはRC_ICONS変数が設定され、RC_FILE変数とRES_FILE変数が設定されていない場合にのみ使用されます。

QMAKE_MANIFEST

Windows のみ。プロジェクト・ターゲットのマニフェスト・ファイルを指定します。これは、RC_FILE変数とRES_FILE変数が設定されていない場合にのみ使用されます。CONFIG変数からembed_manifest_exeとembed_manifest_dllを削除することを忘れないでください、そうしないとコンパイラが生成したものと衝突します。

qmake_tvos_deployment_target

注意: この変数はtvOSプラットフォームでのみ使用されます。

アプリケーションがサポートするtvOSのハード最小バージョンを指定します。

詳細については、サポートされるiOSのバージョンを表現するを参照してください。

qmake_uic_flags

この変数は、各ビルドルールにおいて User Interface Compilerに渡すオプションのリストをカスタマイズするために使います。

qmake_watchos_deployment_target

注意: この変数は watchOS プラットフォームでのみ使用される。

アプリケーションがサポートする watchOS のハード最小バージョンを指定する。

詳細については、サポートされる iOS バージョンを表現するを参照。

qml_import_major_version

自動的に生成される QML 型の登録に使用するメジャーバージョンを指定します。詳細はC++ から QML 型を定義する を参照。

qml_import_minor_version

C++で定義されたQML型を自動登録する際に、このマイナーバージョンを使って 追加登録します。通常、登録されるマイナーバージョンはメタオブジェクトから推測されます。

メタオブジェクトが変更されていないにもかかわらず、より新しいマイナーバージョン番号のQMLモジュールをインポートしたい場合に、この変数を使用することができます。例えば、MyModule メタオブジェクトは1.1 レベルですが、このモジュールを1.3 としてインポートしたい場合などです。

qml_import_version

QML_IMPORT_MAJOR_VERSIONQML_IMPORT_MINOR_VERSION を <major>.<minor> のバージョン文字列で指定します。

qml_import_name

自動的に生成されるQMLの型登録に使用するモジュール名を指定します。詳しくはC++からのQML型の定義を参照してください。

qml_foreign_metatypes

qmltypes ファイルを生成する際に考慮するメタタイプの JSON ファイルを指定します。外部ライブラリがQMLに直接、あるいは他の型の基本型やプロパティとして公開されている型を提供している場合に使用します。Qtの型は自動的に考慮されるので、ここに追加する必要はありません。

QT

プロジェクトで使用するQtモジュールを指定します。各モジュールに追加する値については、モジュールのドキュメントを参照してください。

C++ 実装レベルでは、Qt モジュールを使用すると、そのヘッダーをインクルードできるようになり、バイナリにリンクされるようになります。

デフォルトでは、QTcoregui が含まれており、標準的な GUI アプリケーションを、それ以上の設定なしでビルドできるようになっています。

モジュールなしでプロジェクトをビルドしたい場合は Qt GUIモジュールなしでプロジェクトを構築したい場合は、"-="演算子でgui の値を除外する必要があります。次の行を実行すると、最小限の Qt プロジェクトがビルドされます:

QT -= gui # Only the core module is used.

プロジェクトがQt Widgets Designer プラグインの場合、uiplugin という値を使用して、プロジェクトをライブラリとしてビルドし、Qt Widgets Designer 用の特定のプラグインをサポートするように指定します。詳細は、「プラグインのビルドとインストール」を参照してください。

QTPLUGIN

組み込みリソースとして利用できるようにアプリケーションとリンクする静的 Qt プラグインの名前のリストを指定します。

qmake は、使用する Qt モジュールで通常必要とされるプラグインを自動的に追加します (QT を参照)。デフォルトは、すぐに使えるように最適化されています。利用可能なプラグインのリストと、自動リンクを上書きする方法については、静的プラグインを参照してください。

この変数は、現在のところ、Qt の共有/動的ビルドに対してリンクする場合や、ライブラリをリンクする場合には影響しません。後日、動的プラグインのデプロイメントに使用することができます。

QT_VERSION

Qt の現在のバージョン。

qt_major_version

Qt の現在のメジャーバージョン。

qt_minor_version

Qt の現在のマイナーバージョン。

qt_patch_version

Qt の現在のパッチバージョン。

RC_FILE

Windowsのみ。ターゲットのWindowsリソースファイル(.rc)の名前を指定します。Windowsリソースファイルの追加を参照してください。

RC_CODEPAGE

Windowsのみ。生成される.rcファイルで指定するコードページを指定します。これは、VERSION変数またはRC_ICONS変数が設定され、RC_FILE変数とRES_FILE変数が設定されていない場合にのみ使用されます。

RC_DEFINES

qmake はこの変数の値を RC プリプロセッサマクロとして追加します (/d オプション)。この変数が設定されていない場合、代わりにDEFINES変数が使用される。

RC_DEFINES += USE_MY_STUFF

RC_ICONS

Windowsのみ。生成される.rcファイルに含めるアイコンを指定する。これは、RC_FILEと RES_FILE変数が設定されていない場合にのみ利用される。.rcファイルの生成に関する詳細は、プラットフォーム・ノートを参照してください。

RC_LANG

Windowsのみ。生成される.rcファイルで指定されるべき言語を指定します。これは、VERSION変数またはRC_ICONS変数が設定され、RC_FILE変数とRES_FILE変数が設定されていない場合にのみ使用されます。

RC_INCLUDEPATH

WindowsResource Compiler に渡されるインクルードパスを指定する。

RCC_DIR

QtResource Compiler 出力ファイルのディレクトリを指定します。

例えば

unix:RCC_DIR = ../myproject/resources
win32:RCC_DIR = c:/myproject/resources

REQUIRES

条件として評価される値のリストを指定します。いずれかの条件がfalseの場合、qmakeはビルド時にこのプロジェクト(とそのSUBDIRS)をスキップします。

注意: ビルド時にプロジェクトやサブプロジェクトをスキップしたい場合は、requires()関数を使用することをお勧めします。

RESOURCES

ターゲットのリソース・コレクション・ファイル (qrc) の名前を指定します。リソースコレクションファイルの詳細については、Qt Resource System を参照してください。

RES_FILE

Windowsのみ。このターゲットのWindowsリソース・コンパイラの出力ファイル名を指定します。RC_FILEと Windowsリソースファイルの追加を参照してください。

この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。

SOURCES

プロジェクト内のすべてのソースファイルの名前を指定する。

例えば

SOURCES = myclass.cpp \
      login.cpp \
      mainwindow.cpp

HEADERS も参照。

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_librarymy_executable の前にビルドされ、my_executabletests の前にビルドされるようになっています。しかし、doc を他のサブディレクトリと並行してビルドすることで、ビルドプロセスを高速化することができる。

注意 : 複数の依存関係を列挙することができ、それらはすべて、依存するターゲッ トの前にビルドされる。

:CONFIG += ordered の使用は、マルチコアビルドの速度を低下させる可能性があるため、推奨しない。上に示した例とは異なり、依存関係がなくても、すべてのビルドは順次行われる。

ビルド順序を定義する以外にも、SUBDIRS 要素に追加の修飾子を与えることで、SUBDIRS のデフォルトの動作を変更することができる。サポートされている修飾子は以下の通りです:

修飾子効果
.subdirSUBDIRS の値の代わりに指定されたサブディレクトリを使用する。
.fileサブプロジェクトpro ファイルを明示的に指定する。.subdir 修飾子とは併用できません。
.dependsこのサブプロジェクトは指定されたサブプロジェクトに依存します。
.makefileサブプロジェクトの makefile です。makefile を使うプラットフォームでのみ利用可能です。
.targetこのサブプロジェクトに関連する makefile ターゲットに使われるベース文字列。makefileを使うプラットフォームでのみ利用可能。

例えば、2つのサブディレクトリを定義し、その両方がSUBDIRS の値とは異なるディレクトリに存在し、サブディレクトリの1つがもう1つの前にビルドされなければなりません:

SUBDIRS += my_executable my_library
my_executable.subdir = app
my_executable.depends = my_library
my_library.subdir = lib

TARGET

ターゲット・ファイルの名前を指定します。デフォルトでは、プロジェクト・ファイルのベース名を含む。

例えば

TEMPLATE = app
TARGET = myapp
SOURCES = main.cpp

上記のプロジェクト・ファイルは、unix上ではmyapp 、Windows上ではmyapp.exe という名前の実行ファイルを生成します。

TARGET_EXT

TARGET の拡張子を指定します。この変数の値は通常 qmake またはqmake.confによって処理されるため、変更する必要はほとんどありません。

TARGET_x

TARGET の拡張子をメジャーバージョン番号で指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

TARGET_x.y.z

TARGET の拡張子をバージョン番号で指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。

テンプレート

プロジェクトの生成時に使用するテンプレートの名前を指定します。指定できる値は以下のとおりです:

オプション説明
appアプリケーションをビルドするためのMakefileを作成します(デフォルト)。詳細はアプリケーションのビルドを参照してください。
libライブラリをビルドするための Makefile を作成します。詳細はライブラリのビルドを参照してください。
サブディレクトリサブディレクトリにターゲットをビルドするための Makefile を作成します。サブディレクトリはSUBDIRS変数で指定します。
aux何もビルドしないための Makefile を作成します。例えば、プロジェクトがインタプリタ言語で書かれている場合など、ターゲットを作成するためにコンパイラを起動する必要がない場合に使用します。

注意: このテンプレート・タイプは Makefile ベースのジェネレーターでのみ利用可能です。特に、vcxproj と Xcode ジェネレータでは動作しません。

vcappWindows のみ。Visual Studio用のアプリケーション・プロジェクトを作成します。詳細については、Visual Studioプロジェクト・ファイルの作成を参照してください。
vclibWindows のみ。Visual Studio* 用のライブラリ・プロジェクトを作成します。

例えば、以下のようになります:

TEMPLATE = lib
SOURCES = main.cpp
TARGET = mylib

-t コマンド・ライン・オプションで新しいテンプレート・タイプを指定することで、テ ンプレート・タイプをオーバーライドできます。これは、.pro ファイルが処理された後にテンプレート・タイプを上書きします。プロジェクトのビルド方法を決定するためにテンプレート・タイプを使用する .pro ファイルでは、-t オプションを使用するのではなく、コマンドラインで TEMPLATE を宣言する必要があります。

TRANSLATIONS

ユーザー・インターフェース・テキストの非ネイティブ言語への翻訳を含む翻訳(.ts)ファイルのリストを指定します。

TRANSLATIONS にある翻訳ファイルはlreleaseUsing lupdateツールの両方で処理されます。lrelease でのみファイルを処理したい場合は、EXTRA_TRANSLATIONS を使用してください。

また、CONFIG += lrelease embed_translations を使用すると、Qt Resource System でファイルを利用できるようになります。

Qtの国際化(i18n)とローカライゼーション(l10n)の詳細については、Qt Linguist マニュアルを参照してください。

TR_EXCLUDE

lupdate での処理から除外するパス (ソースファイル、サブディレクトリ、および C++ インクルードパス) のリストを指定します。パスにはワイルドカードを含めることができます。相対パスは_PRO_FILE_PWD_ からの相対パスとみなされます。

例えば、ソース・ファイルを除外する:

SOURCES += main.cpp \
    excluded.cpp \
    3rdparty/sqlite3.h \
    3rdparty/sqlite3.c
TR_EXCLUDE += excluded.cpp 3rdparty/*

SUBDIRS プロジェクトのサブディレクトリを除外する:

SUBDIRS += \
    libs \
    apps \
    tests
TR_EXCLUDE += tests

lupdateのC++パーサーを高速化するには、インクルード・パスを除外します:

linux {
    TR_EXCLUDE += /usr/include/boost/*
}

UI_DIR

uicからのすべての中間ファイルを置くディレクトリを指定します。

例えば

unix:UI_DIR = ../myproject/ui
win32:UI_DIR = c:/myproject/ui

VERSION

app テンプレートが指定されている場合はアプリケーションのバージョン番号を、lib テンプレートが指定されている場合はライブラリのバージョン番号を指定します。

Windowsでは、RC_FILE変数とRES_FILE変数が設定されていない場合、.rcファイルの自動生成をトリガします。生成された.rcファイルには、FILEVERSIONとPRODUCTVERSIONの項目にメジャー、マイナー、パッチ・レベル、ビルド番号が入ります。各番号は0から65535の範囲でなければならない。.rcファイルの生成に関する詳細は、プラットフォーム・ノートを参照してください。

例えば

win32:VERSION = 1.2.3.4 # major.minor.patch.build
else:VERSION = 1.2.3    # major.minor.patch

version_pe_header

Windowsのみ。Windowsリンカが/VERSIONオプションを使って.exeまたは.dllファイルのヘッダーに入れるバージョン番号を指定します。メジャー・バージョンとマイナー・バージョンのみを指定できます。VERSION_PE_HEADERが設定されていない場合、VERSION(設定されている場合)のメジャー・バージョンとマイナー・バージョンにフォールバックします。

VERSION_PE_HEADER = 1.2

VER_MAJ

lib テンプレートが指定されている場合、ライブラリーのメジャー・バージョン番号を指定します。

VER_MIN

lib テンプレートが指定されている場合、ライブラリのマイナー・バージョン番号を指定します。

VER_PAT

lib テンプレートが指定されている場合、ライブラリのパッチ・バージョン番号を指定します。

VPATH

qmake が開くことができないファイルを検索する場所を指定します。例えば、qmake がSOURCES を探して、開けないエントリを見つけた場合、VPATH リスト全体を調べて、そのファイルを自分で見つけられるかどうかを確認します。

DEPENDPATH も参照のこと。

windows_target_platform_version

対象となるWindowsのバージョンを指定します。これはvcxprojファイルのWindowsTargetPlatformVersion タグに対応します。

デスクトップWindowsでは、デフォルト値は環境変数WindowsSDKVersion の値です。

Windows_target_platform_min_version

Windows ターゲット・プラットフォームの最小バージョンを指定します。これは vcxproj ファイルのタグWindowsTargetPlatformMinVersion に対応します。

デフォルトはWINDOWS_TARGET_PLATFORM_VERSION です。

YACCSOURCES

プロジェクトに含める Yacc ソースファイルのリストを指定します。すべての依存関係、ヘッダー、ソースファイルは自動的にプロジェクトに含まれます。

例えば

YACCSOURCES = moc.y

PRO_FILE_

使用するプロジェクトファイルのパスを指定します。

例えば、以下の行ではプロジェクト・ファイルの場所がコンソールに書き込まれます:

message($$_PRO_FILE_)

注意: この変数の値を上書きしないでください。

_PRO_FILE_PWD_。

使用するプロジェクト・ファイルを含むディレクトリへのパスを指定します。

例えば、以下の行ではプロジェクト・ファイルを含むディレクトリの場所がコンソールに書き込まれます:

message($$_PRO_FILE_PWD_)

注意: この変数の値を上書きしないでください。

QQmlEngine::addImportPath()も参照して ください。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.