このページについて

変数

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 ターゲットにのみ適用されます。

「android.app.arguments」というタグを持つAndroidManifest.xml を使用して、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 のサイズを最小限に抑えたい場合は、この変数を使用して自動検出を上書きすることができます。この変数には、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 ターゲットにのみ適用されます。

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

ANDROID_EXTRA_PLUGINS この変数は、追加のプラグインがビルドされているディレクトリを指す必要があります。また、ビルドディレクトリの構造は、Qtプラグインと同様の命名規則、すなわちplugins/<プラグイン名> に従う必要があります。

プラグインライブラリの名前は、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

ANDROID_FEATURES

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

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

ANDROID_FEATURES += android.hardware.location.gps

詳細については、Android <uses-feature> ドキュメントを参照してください。

ANDROID_LIB_DEPENDENCIES

注:この変数は 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_PERMISSIONS

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

モジュールの権限リストを指定します。

ANDROID_PERMISSIONS += android.permission.ACCESS_FINE_LOCATION

詳細については、Android <uses-permission> ドキュメントを参照してください。

ANDROID_TARGET_SDK_VERSION

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

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

ANDROID_VERSION_CODE

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

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

ANDROID_VERSION_NAME

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

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

CONFIG

プロジェクトの構成およびコンパイラオプションを指定します。これらの値は qmake によって内部的に認識され、特別な意味を持ちます。

注:値は大 文字と小文字が区別されます。

以下の `CONFIG ` の値は、コンパイラおよびリンカのフラグを制御します。

オプション説明
releaseプロジェクトはリリースモードでビルドされます。debug も指定されている場合は、後者の設定が優先されます。
debugプロジェクトはデバッグモードでビルドされます。
debug_and_releaseプロジェクトは、デバッグモードとリリースモードの両方でビルドできるよう準備されます。
debug_and_release_targetこのオプションはデフォルトで設定されています。debug_and_release も設定されている場合、デバッグビルドとリリースビルドは、それぞれ別々の「debug」ディレクトリと「release」ディレクトリに出力されます。
build_alldebug_and_release が指定されている場合、プロジェクトはデフォルトでデバッグモードとリリースモードの両方でビルドされます。
autogen_precompile_source.pro ファイルで指定されたプリコンパイル済みヘッダーファイルを含む `.cpp ` ファイルを自動的に生成します。
orderedsubdirs テンプレートを使用する場合、このオプションは、リストされたディレクトリを指定された順序で処理することを指定します。

注:このオプションの使用は 推奨されません。SUBDIRS変数のドキュメントに記載されている通りに依存関係を指定してください。

precompile_headerプロジェクトでのプリコンパイル済みヘッダーの使用をサポートします。
precompile_header_c (MSVC のみ)C ファイルでのプリコンパイル済みヘッダーの使用をサポートします。
warn_onコンパイラは可能な限り多くの警告を出力するようにします。warn_off も指定されている場合は、後者の設定が優先されます。
warn_offコンパイラは、警告をできるだけ出さないようにします。
exceptions例外処理が有効になります。デフォルトで設定されています。
exceptions_off例外処理は無効です。
ltcgリンク時のコード生成が有効になっています。このオプションはデフォルトで無効になっています。
rttiRTTI サポートが有効になっています。デフォルトでは、コンパイラのデフォルト設定が使用されます。
rtti_offRTTIのサポートが無効になっています。デフォルトでは、コンパイラのデフォルト設定が使用されます。
stlSTLのサポートが有効になっています。デフォルトでは、コンパイラのデフォルト設定が使用されます。
stl_offSTL のサポートは無効です。デフォルトでは、コンパイラのデフォルト設定が使用されます。
threadスレッドのサポートが有効になっています。これは、CONFIGにqt が含まれている場合に有効になります。これがデフォルトの設定です。
no_utf8_sourceプロジェクトのソースファイルで UTF-8 エンコーディングを使用しないことを指定します。代わりに、コンパイラのデフォルト設定が使用されます。
hide_symbolsバイナリ内のシンボルのデフォルトの可視性を「非表示」に設定します。デフォルトでは、コンパイラのデフォルト設定が使用されます。
c99C99のサポートが有効になります。コンパイラがC99をサポートしていない場合、またはC標準を選択できない場合、このオプションは効果を持ちません。デフォルトでは、コンパイラのデフォルト設定が使用されます。
c11C11のサポートが有効になります。コンパイラがC11をサポートしていない場合、またはC標準を選択できない場合、このオプションは効果を持ちません。デフォルトでは、コンパイラのデフォルト設定が使用されます。
c17C17(C18とも呼ばれる)のサポートが有効になります。コンパイラが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に追加する機能が有効になります。デフォルトで設定されています。
lreleaseTRANSLATIONSおよびEXTRA_TRANSLATIONS にリストされているすべてのファイルに対して、lrelease を実行します。embed_translations が設定されていない場合、生成された .qm ファイルを QM_FILES_INSTALL_PATH にインストールします。lrelease の呼び出しにオプションを追加するには、QMAKE_LRELEASE_FLAGS を使用します。デフォルトでは設定されていません。
embed_translationslrelease から生成された翻訳を、QM_FILES_RESOURCE_PREFIXの下に実行ファイルに埋め込みます。lrelease も設定されている必要があります。デフォルトでは設定されていません。
create_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 に追加しない。
compile_included_sourcesデフォルトでは、qmake は他のソースファイルにインクルードされているソースファイルはコンパイルしません。このオプションを指定すると、この動作が無効になります。

debug_and_release オプション(Windows ではデフォルト)を使用する場合、プロジェクトは 3 回処理されます。1 回目は「メタ」Makefile を生成するため、残りの 2 回は Makefile.Debug および Makefile.Release を生成するためです。

後者の処理段階では、`build_pass ` およびそれぞれの `debug ` または `release ` オプションが `CONFIG` に追加されます。これにより、ビルド固有のタスクを実行することが可能になります。例えば:

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

ビルドタイプの条件分岐を手動で記述する代わりに、一部の変数にはビルド固有のバリエーションが用意されています。例えば、汎用的なQMAKE_LFLAGS に加えてQMAKE_LFLAGS_RELEASEなどがあります。利用可能な場合は、これらを使用してください。

メタ Makefile により、サブビルドは `debug ` および `release ` ターゲットを介して呼び出せるようになり、統合ビルドは `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 アプリケーションまたはライブラリです。適切なインクルードパスおよびライブラリがプロジェクトに自動的に追加されます。
testcaseターゲットは自動テストです。テストを実行するために、生成される Makefile にチェックターゲットが追加されます。Makefile を生成する場合にのみ関連します。
insignificant_test自動テストの終了コードは無視されます。testcase も設定されている場合にのみ適用されます。
windowsこのターゲットは Win32 ウィンドウアプリケーションです(アプリのみ)。適切なインクルードパス、コンパイラフラグ、およびライブラリがプロジェクトに自動的に追加されます。
consoleターゲットは Win32 コンソールアプリケーション(アプリのみ)です。適切なインクルードパス、コンパイラフラグ、およびライブラリがプロジェクトに自動的に追加されます。クロスプラットフォームアプリケーションの場合は、cmdline オプションの使用をご検討ください。
cmdlineターゲットはクロスプラットフォームのコマンドラインアプリケーションです。Windows では、これは `CONFIG += console` を意味します。macOS では、これは `CONFIG -= app_bundle` を意味します。
sharedターゲットは共有オブジェクト/DLLです。適切なインクルードパス、コンパイラフラグ、およびライブラリがプロジェクトに自動的に追加されます。なお、dll はすべてのプラットフォームで使用可能です。ターゲットプラットフォームに適した拡張子(.dllまたは.so)を持つ共有ライブラリファイルが生成されます。
dll
staticターゲットは静的ライブラリ(libのみ)です。適切なコンパイラフラグがプロジェクトに自動的に追加されます。
staticlib
pluginターゲットはプラグイン(ライブラリのみ)です。これにより、dll も有効になります。
designerターゲットは、Qt Widgets Designer 用のプラグインです。
no_lflags_mergeLIBS 変数に格納されたライブラリのリストが、使用される前に一意な値のリストに絞り込まれないようにします。
metatypes現在のプロジェクト用の `<name>_metatypes.json ` ファイルを作成します。<name> は、TARGET のすべて小文字のベース名です。
qmltypesC++で定義されたQMLタイプを自動的に登録します。詳細については、「C++からのQMLタイプの定義」を参照してください。また、現在のプロジェクト用に<template>.qmltypes ファイルを作成します。<template> は、plugin が設定されている場合はplugins (歴史的な理由により複数形)となり、それ以外の場合はTEMPLATEの値になります。qmltypes はmetatypes を意味します。

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

オプション説明
flatvcapp テンプレートを使用する場合、このオプションを有効にすると、ファイルがどのディレクトリにあるかに関係なく、すべてのソースファイルが source グループに、ヘッダーファイルが header グループに配置されます。このオプションを無効にすると、ファイルは格納されているディレクトリに応じて source/header グループ内にグループ化されます。デフォルトでは有効になっています。
embed_manifest_dllライブラリプロジェクトの一環として作成される DLL にマニフェストファイルを埋め込みます。
embed_manifest_exeアプリケーションプロジェクトの一部として作成されるEXEにマニフェストファイルを埋め込みます。

マニフェストファイルの埋め込みに関するオプションの詳細については、「プラットフォームに関する注意事項」を参照してください。

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

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

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

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

オプション説明
largefile大容量ファイルのサポートを含めます。
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のmkspecsの場合 、この変数にはデフォルトで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 内の翻訳ファイルはlrelease によってのみ処理され、lupdate では処理されません。

CONFIG += lreleaseを使用すると、ビルド中にファイルが自動的にコンパイルされ、CONFIG += lrelease embed_translationsを使用すると、Qt リソースシステムでそれらのファイルを利用できるようになります。

Qt による国際化 (i18n) および地域化 (l10n) の詳細については、『Qt Linguist マニュアル』を参照してください。

FORMS

コンパイル前にuic によって処理される UI ファイル(『Qt Widgets Designer マニュアル』を参照)を指定します。これらの 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」も参照してください。

ICON

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

IDLSOURCES

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

INCLUDEPATH

プロジェクトのコンパイル時に検索すべき #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 ファイルなど、ビルドプロセスの一環として生成されるファイルをインストールする必要がある場合は、この設定値を使用してください。
nostrip設定すると、一般的な Unix の strip 機能が無効になり、バイナリにデバッグ情報が残ります。
executableUnix では、これにより実行可能フラグが設定されます。
no_buildmake install を実行した際、プロジェクトのビルドがまだ行われていない場合は、まずプロジェクトがビルドされ、その後インストールされます。この動作を望まない場合は、この設定値を指定して、ビルドターゲットがインストールターゲットの依存関係として追加されないようにしてください。
no_default_installプロジェクトにはトップレベルのプロジェクト・ターゲットがあり、make install を実行すると、すべてのファイルがインストールされます。ただし、この設定値が設定されたインストール・ターゲットがある場合、デフォルトではインストールされません。その場合は、明示的にmake install_<file> と指定する必要があります。

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

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

JAVA_HOME

注:この変数は 、Android ターゲットでのみ有効です。

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

LEXIMPLS

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

LEXIMPLSLex オブジェクトファイルの中間ファイル名を指定します。この変数の値は通常 qmake によって処理されるため、変更する必要はほとんどありません。

Lex の中間オブジェクトファイルの名前を指定します。この変数の値は通常 qmake によって処理されるため、変更する必要はほとんどありません。

LEXSOURCES

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

例:

LEXSOURCES = lexer.l

LIBS

プロジェクトにリンクされるライブラリのリストを指定します。Unix の `-l ` (ライブラリ) および `-L` (ライブラリパス) フラグを使用する場合、qmake は Windows 環境でもライブラリを正しく処理します(つまり、ライブラリのフルパスをリンカーに渡します)。 qmakeが-l ライブラリが配置されているディレクトリを検出するには、そのライブラリが存在している必要があります。

例:

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 がライブラリ B に依存しており、ライブラリ B がライブラリ A にプライベートに依存している場合でも、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_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 を配置するディレクトリへのフルパスを指定します。

注: この変数の値を上書きしようとしないでください 。OUT_PWD生成された Makefile を qmake が配置するディレクトリへのフルパスを指定します。

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: プラグインでの QML モジュールの使用を参照してください。

QMLPATHS

QML モジュールのツリーのルートディレクトリを指すインポートパスのリストを指定します。たとえば、QML モジュールを独自の場所に配置している場合は、ここでその場所を指定できます。

注: QMLPATHSのパスエントリは 、QML モジュールのツリー構造のルートディレクトリを指す必要があります。これが、QML エンジンが認識するインポートパスの概念です。QML_IMPORT_PATH 環境変数を通じて同じパスをQMLアプリケーションに渡すこともできますが、これらはqmake変数 QML_IMPORT_PATHに期待される内容とは異なります。後者は、Qt Creator によってのみ処理される個々のモジュールへのパスを期待しています。

注:QMLPATHSの内容は 、アプリケーションに自動的に渡されるわけではありません。むしろ、これらはビルド時にのみ使用されます。特に、qmlimportscannerは、アプリケーションによってインポート済みとしてマークする必要がある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.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

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

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

ライブラリ・バンドルの作成に関する詳細は、「プラットフォームに関する注意事項」を参照してください。

また、プロジェクトではこの変数を使用して、アプリケーションの翻訳ファイルをバンドルすることもできます。具体的な構文は、プロジェクトが 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

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

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

たとえば、以下の定義を行うと、.myframework という拡張子を持つフレームワークが生成されます。

QMAKE_BUNDLE_EXTENSION = .myframework

QMAKE_CC

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

QMAKE_CFLAGS

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

QMAKE_CFLAGS_DEBUG

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

QMAKE_CFLAGS_RELEASE

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

QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO

CONFIG でforce_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

make clean によって削除される、生成されたファイル(例:mocやuic によって生成されたもの)およびオブジェクトファイルのリストを指定します。

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

CONFIG でforce_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

注:この変数は 、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の数
.nameホストコンピュータ名
.versionホスト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_PREFIX とQMAKE_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

注:この変数は 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_REL_RPATH_BASE

動的リンカが、参照元の実行ファイルまたはライブラリの場所として認識する文字列を指定します。

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

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

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

QMAKE_LFLAGS_RELEASE

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

QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO

CONFIG でforce_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

OpenGL/ES または OpenVG で EGL を使用する場合、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_QMAKEqmake 実行ファイルの絶対パスを含みます。

qmake 実行ファイルの絶対パスを指定します。

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

QMAKE_RESOURCE_FLAGS

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

QMAKE_RESOURCE_FLAGS += -threshold 0 -compress 9

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 では、以下のプレースホルダーを使用して、パスを相対パスで指定することができます。

プレースホルダー効果
@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

詳細については、動的ライブラリのインストール名に関する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` に渡されるオプションのリストをカスタマイズするために使用されます。

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_VERSIONおよびQML_IMPORT_MINOR_VERSION を、<major>.<minor> 形式のバージョン文字列として指定します。

QML_IMPORT_NAME

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

QML_FOREIGN_METATYPES

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

QT

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

C++の実装レベルでは、Qtモジュールを使用することで、そのヘッダーファイルを含めることが可能になり、バイナリへのリンクが行われます。

デフォルトでは、QT にはcore およびgui が含まれており、追加の設定なしに標準的な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

Windows のみ。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

WindowsのResource Compiler に渡されるインクルードパスを指定します。

RCC_DIR

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

例:

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

REQUIRES

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

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

RESOURCES

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

RES_FILE

Windows のみ。このターゲットに対する Windows Resource Compilerの出力ファイル名を指定します。RC_FILEおよび「Windows リソースファイルの追加」を参照してください。

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

SOURCES

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

インクルードされるソースファイルに関する注意

デフォルトでは、QMake はソースファイルの依存関係をスキャンし、重複したコンパイルやリンカーエラーを防ぐために、他の .cpp ファイルにインクルードされている .cpp ファイルを自動的に除外します。この自動除外には重要な制限があります:

  • プリプロセッサの条件式(#ifdef 、#ifndef など)に関係なく、除外が行われます。
  • プロジェクト内のどこかに#included が含まれる.cppファイルは、たとえそのインクルードが条件付きであっても、SOURCES から除外されます。

除外されたファイルのコンパイルを強制するには、.pro ファイルに `CONFIG += compile_included_sources ` を追加してください。あるいは、`SOURCES` からそれらのファイルを除外し、それらを含んでいるファイルを通じてのみコンパイルされるようにしてください。これは、`QMAKE_EXT_CPP` に含まれる拡張子を持つすべてのファイルに適用されます。

例:

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_library がmy_executable より先にビルドされ、my_executable がtests より先にビルドされることが保証されます。ただし、doc は他のサブディレクトリと並行してビルドされるため、ビルドプロセスが高速化されます。

注:複数の 依存関係を指定することができ、それらはすべて、それらに依存するターゲットよりも先にビルドされます。

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

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

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

たとえば、SUBDIRS の値とは異なるディレクトリにある2つのサブディレクトリを定義し、一方のサブディレクトリをもう一方よりも先にビルドする必要がある場合:

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によって管理されるため、変更する必要はほとんどありません。

TEMPLATE

プロジェクトを生成する際に使用するテンプレートの名前を指定します。指定可能な値は以下の通りです:

オプション説明
appアプリケーションをビルドするための Makefile を作成します(デフォルト)。詳細については、「アプリケーションのビルド」を参照してください。
libライブラリをビルドするための Makefile を作成します。詳細については、「ライブラリのビルド」を参照してください。
subdirsサブディレクトリ内のターゲットをビルドするための 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 にある翻訳ファイルは、lreleaseおよび lupdateツールの両方で処理されます。lrelease のみでファイルを処理したい場合は、EXTRA_TRANSLATIONSを使用してください。

CONFIG += lreleaseを使用すると、ビルド中にファイルが自動的にコンパイルされ、CONFIG += lrelease embed_translationsを使用すると、Qt リソースシステムでそれらのファイルを利用できるようになります。

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 ファイルの生成に関する詳細は、『Platform Notes』を参照してください。

例:

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

VERSION_PE_HEADER

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

VERSION_PE_HEADER = 1.2

VER_MAJ

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

VER_MINxml-ph-0000@deepl.internal テンプレートが指定されている場合、ライブラリのマイナーバージョン番号を指定します。

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()も参照してください 。

© 2026 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.