変数
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.jarANDROID_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}.soANDROID_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/pluginsANDROID_FEATURES
注:この変数は Android モジュールにのみ適用されます。
モジュールの機能リストを指定します:
ANDROID_FEATURES += android.hardware.location.gps詳細については、Android <uses-feature> ドキュメントを参照してください。
ANDROID_LIB_DEPENDENCIES
注:この変数は Android モジュールにのみ適用されます。
これは、Qt モジュールを記述する際に役立ちます。モジュールで使用される、あらかじめビルド済みの依存関係のリストを指定します。例:
ANDROID_LIB_DEPENDENCIES += \
plugins/libplugins_platforms_qtforandroid.soANDROID_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_all | debug_and_release が指定されている場合、プロジェクトはデフォルトでデバッグモードとリリースモードの両方でビルドされます。 |
| autogen_precompile_source | .pro ファイルで指定されたプリコンパイル済みヘッダーファイルを含む `.cpp ` ファイルを自動的に生成します。 |
| ordered | subdirs テンプレートを使用する場合、このオプションは、リストされたディレクトリを指定された順序で処理することを指定します。注:このオプションの使用は 推奨されません。SUBDIRS変数のドキュメントに記載されている通りに依存関係を指定してください。 |
| precompile_header | プロジェクトでのプリコンパイル済みヘッダーの使用をサポートします。 |
| precompile_header_c (MSVC のみ) | C ファイルでのプリコンパイル済みヘッダーの使用をサポートします。 |
| warn_on | コンパイラは可能な限り多くの警告を出力するようにします。warn_off も指定されている場合は、後者の設定が優先されます。 |
| warn_off | コンパイラは、警告をできるだけ出さないようにします。 |
| exceptions | 例外処理が有効になります。デフォルトで設定されています。 |
| exceptions_off | 例外処理は無効です。 |
| ltcg | リンク時のコード生成が有効になっています。このオプションはデフォルトで無効になっています。 |
| rtti | RTTI サポートが有効になっています。デフォルトでは、コンパイラのデフォルト設定が使用されます。 |
| rtti_off | RTTIのサポートが無効になっています。デフォルトでは、コンパイラのデフォルト設定が使用されます。 |
| stl | STLのサポートが有効になっています。デフォルトでは、コンパイラのデフォルト設定が使用されます。 |
| stl_off | STL のサポートは無効です。デフォルトでは、コンパイラのデフォルト設定が使用されます。 |
| thread | スレッドのサポートが有効になっています。これは、CONFIGにqt が含まれている場合に有効になります。これがデフォルトの設定です。 |
| no_utf8_source | プロジェクトのソースファイルで UTF-8 エンコーディングを使用しないことを指定します。代わりに、コンパイラのデフォルト設定が使用されます。 |
| hide_symbols | バイナリ内のシンボルのデフォルトの可視性を「非表示」に設定します。デフォルトでは、コンパイラのデフォルト設定が使用されます。 |
| c99 | C99のサポートが有効になります。コンパイラがC99をサポートしていない場合、またはC標準を選択できない場合、このオプションは効果を持ちません。デフォルトでは、コンパイラのデフォルト設定が使用されます。 |
| c11 | C11のサポートが有効になります。コンパイラがC11をサポートしていない場合、またはC標準を選択できない場合、このオプションは効果を持ちません。デフォルトでは、コンパイラのデフォルト設定が使用されます。 |
| c17 | C17(C18とも呼ばれる)のサポートが有効になります。コンパイラがC17をサポートしていない場合、またはC標準を選択できない場合、このオプションは効果を持ちません。デフォルトでは、コンパイラのデフォルト設定が使用されます。 |
| c18 | これは、c17 の値の別名です。 |
| strict_c | Cコンパイラの拡張機能のサポートを無効にします。デフォルトでは、これらは有効になっています。 |
| c++11 | C++11 のサポートが有効になります。コンパイラが C++11 をサポートしていない場合、または C++ 標準を選択できない場合、このオプションは効果を持ちません。デフォルトでは、サポートは有効になっています。 |
| c++14 | C++14のサポートが有効になります。コンパイラがC++14をサポートしていない場合、またはC++標準を選択できない場合、このオプションは効果を持ちません。デフォルトでは、サポートが有効になっています。 |
| c++17 | C++17のサポートが有効になっています。コンパイラがC++17をサポートしていない場合や、C++標準を選択できない場合、このオプションは効果を持ちません。デフォルトでは、サポートが有効になっています。 |
| c++1z | c++17 の旧称。 |
| c++20 | C++20のサポートが有効になります。コンパイラがC++20をサポートしていない場合、またはC++標準を選択できない場合、このオプションは効果を持ちません。デフォルトでは、サポートは無効になっています。 |
| c++2a | c++20 の廃止された別名です。 |
| c++latest | 最新のC++言語標準のサポートが有効になります。このオプションは、主に/std:c++latest コンパイラ引数をサポートするMSVCで有用です。その他のツールチェーンの場合、このオプションはQtが認識している最新のC++標準を有効にします。デフォルトでは、このオプションは無効になっています。 |
| strict_c++ | C++ コンパイラ拡張機能のサポートを無効にします。デフォルトでは、これらは有効になっています。 |
| depend_includepath | INCLUDEPATHの値をDEPENDPATHに追加する機能が有効になります。デフォルトで設定されています。 |
| lrelease | TRANSLATIONSおよびEXTRA_TRANSLATIONS にリストされているすべてのファイルに対して、lrelease を実行します。embed_translations が設定されていない場合、生成された .qm ファイルを QM_FILES_INSTALL_PATH にインストールします。lrelease の呼び出しにオプションを追加するには、QMAKE_LRELEASE_FLAGS を使用します。デフォルトでは設定されていません。 |
| embed_translations | lrelease から生成された翻訳を、QM_FILES_RESOURCE_PREFIXの下に実行ファイルに埋め込みます。lrelease も設定されている必要があります。デフォルトでは設定されていません。 |
| create_libtool | 現在ビルド中のライブラリ用の libtool .la ファイルを作成します。 |
| create_pc | 現在ビルド中のライブラリ用の pkg-config .pc ファイルを作成します。 |
| no_batch | NMake のみ: NMake のバッチルールまたは推論ルールの生成を無効にします。 |
| skip_target_version_ext | Windows 上で DLL ファイル名に自動的に付加されるバージョン番号の表示を抑制します。 |
| suppress_vcproj_warnings | VS プロジェクトジェネレータの警告を抑制します。 |
| 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_merge | LIBS 変数に格納されたライブラリのリストが、使用される前に一意な値のリストに絞り込まれないようにします。 |
| metatypes | 現在のプロジェクト用の `<name>_metatypes.json ` ファイルを作成します。<name> は、TARGET のすべて小文字のベース名です。 |
| qmltypes | C++で定義されたQMLタイプを自動的に登録します。詳細については、「C++からのQMLタイプの定義」を参照してください。また、現在のプロジェクト用に<template>.qmltypes ファイルを作成します。<template> は、plugin が設定されている場合はplugins (歴史的な理由により複数形)となり、それ以外の場合はTEMPLATEの値になります。qmltypes はmetatypes を意味します。 |
これらのオプションは、Windows でのみ特定の機能を定義します:
| オプション | 説明 |
|---|---|
| flat | vcapp テンプレートを使用する場合、このオプションを有効にすると、ファイルがどのディレクトリにあるかに関係なく、すべてのソースファイルが 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_STUFFDEFINES_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.txtDLLDESTDIR
注:この変数は 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.uiGUID
.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 += targetINSTALLS には、いくつかの値をとることができる.CONFIG メンバーがあります:
| 値 | 説明 |
|---|---|
| no_check_exist | 設定されていない場合、qmake はインストール対象のファイルが実際に存在するかどうかを確認します。これらのファイルが存在しない場合、qmake はインストールルールを作成しません。qdoc によって作成される HTML ファイルなど、ビルドプロセスの一環として生成されるファイルをインストールする必要がある場合は、この設定値を使用してください。 |
| nostrip | 設定すると、一般的な Unix の strip 機能が無効になり、バイナリにデバッグ情報が残ります。 |
| executable | Unix では、これにより実行可能フラグが設定されます。 |
| no_build | make 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.lLIBS
プロジェクトにリンクされるライブラリのリストを指定します。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_mergeLIBS_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/tmpOBJECTIVE_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/tmpPOST_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_enXcodeは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_deXcode ビルドシステムによる翻訳ファイルのバンドル方法の変更に関する詳細については、QTBUG-98417 を参照してください。
QMAKE_BUNDLE_EXTENSION
注:この変数は 、macOS、iOS、tvOS、および watchOS でのみ使用されます。
ライブラリバンドルに使用する拡張子を指定します。これにより、標準の.framework ディレクトリ名拡張子の代わりに、カスタム拡張子を使用してフレームワークを作成することができます。
たとえば、以下の定義を行うと、.myframework という拡張子を持つフレームワークが生成されます。
QMAKE_BUNDLE_EXTENSION = .myframeworkQMAKE_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_LFLAGS_RPATHLINK
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/librariesQMAKE_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によって処理されるため、変更する必要はほとんどありません。
QMAKE_LINK
アプリケーションベースのプロジェクトをビルドする際に使用されるリンカを指定します。Makefile が処理される時点で、PATH 変数に含まれるパス上にリンカの実行ファイルが存在する限り、そのファイル名のみを指定すれば十分です。この変数の値は通常、qmake またはqmake.confによって管理されており、変更する必要はほとんどありません。
QMAKE_LINK_SHLIB_CMD
共有ライブラリを作成する際に実行するコマンドを指定します。この変数の値は通常、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プロジェクトでは効果を発揮しません。
QMAKE_PRE_LINK
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 9QMAKE_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変数が設定されていない場合にのみ利用されます。
QMAKE_TARGET_COPYRIGHT
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_STUFFRC_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/resourcesREQUIRES
条件として評価される値のリストを指定します。いずれかの条件が偽の場合、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 のデフォルトの動作を変更することも可能です。サポートされている修飾子は以下の通りです:
| 修飾子 | 効果 |
|---|---|
| .subdir | SUBDIRS の値の代わりに、指定されたサブディレクトリを使用します。 |
| .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 = libTARGET
ターゲットファイルの名前を指定します。デフォルトでは、プロジェクトファイルのベース名が含まれます。
例:
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 ジェネレータでは機能しません。 |
| vcapp | Windows のみ。Visual Studio 用のアプリケーションプロジェクトを作成します。詳細については、「Visual Studio プロジェクトファイルの作成」を参照してください。 |
| vclib | Windows のみ。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 += testslupdateのC++パーサーの処理を高速化するには、インクルードパスを除外します:
linux {
TR_EXCLUDE += /usr/include/boost/*
}UI_DIR
uic によるすべての中間ファイルを配置するディレクトリを指定します。
例:
unix:UI_DIR = ../myproject/ui
win32:UI_DIR = c:/myproject/uiVERSION
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.patchVERSION_PE_HEADER
Windows のみ。.exe または .dll ファイルのヘッダーに、Windows リンカーが /VERSION オプションを介して書き込むバージョン番号を指定します。 指定できるのはメジャーバージョンとマイナーバージョンのみです。VERSION_PE_HEADERが設定されていない場合、VERSION(設定されている場合)のメジャーバージョンとマイナーバージョンが代用されます。
VERSION_PE_HEADER = 1.2VER_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.