変数
qmakeの基本的な動作は、各プロジェクトのビルドプロセスを定義する変数宣言に影響されます。これらの中には、ヘッダやソースファイルなど、各プラットフォームに共通なリソースを宣言するものもあります。その他は、特定のプラットフォームにおけるコンパイラやリンカの動作をカスタマイズするために使用されます。
プラットフォーム固有の変数は、拡張または変更する変数の命名パターンに従いますが、その名前には関連するプラットフォームの名前が含まれます。例えば、makespec ではQMAKE_LIBS
を使って各プロジェクトがリンクする必要のあるライブラリのリストを指定し、QMAKE_LIBS_X11
を使ってこのリストを拡張します。
ANDROID_ABIS
メモ: この変数はAndroidターゲットにのみ適用される。
AndroidターゲットのABIのリストを指定する。有効な値は、armeabi-v7a、arm64-v8a、x86、x86_64である。
ABIはqmakeの引数として指定できます:
qmake ANDROID_ABIS="armeabi-v7a arm64-v8a"
注: *.proファイル内でこの変数を使用することは可能ですが、qmake
コマンドラインで指定されたABIを上書きしてしまうため、推奨されません。
android_api_version
注: この変数はAndroidターゲットにのみ適用されます。
Android APIレベル番号を指定する。詳細については、Androidのビルド番号を参照してください。
android_application_arguments
注: この変数はAndroidターゲットにのみ適用されます。
AndroidManifest.xml
、"android.app.arguments "タグを使用して、Androidアプリに対する追加のコマンドライン引数を指定する。これは引数の文字列を取る:
ANDROID_APPLICATION_ARGUMENTS = "arg1 arg2 arg3"
android_bundled_jar_dependencies
注意: この変数はAndroidモジュールにのみ適用されます。
Qtモジュールを書くときに便利です。例えば、.jar
形式で、モジュールで使われるバンドル済みの依存関係のリストを指定します:
ANDROID_BUNDLED_JAR_DEPENDENCIES += jar/Qt6Android.jar
android_deployment_dependencies
注意: この変数はAndroidターゲットにのみ適用されます。
デフォルトでは、androiddeployqtはアプリケーションの依存関係を検出します。しかし、プラグインのランタイム使用は検出できないため、アプリケーションが潜在的な依存関係にあるプラグインに依存している可能性があり、誤検出する可能性があります。APK
のサイズを最小化したい場合は、this 変数を使用して自動検出をオーバーライドすることが可能です。この変数には、インクルードする必要があるすべての Qt ファイルのリストを、Qt のインストールルートからの相対パスで指定します。
注意: この変数で指定された Qt ファイルのみがインクルードされます。正しいファイルをすべてインクルードしないと、クラッシュする可能性があります。また、ファイルが正しいロード順序でリストされていることを確認することも重要です。この変数は自動検出を完全にオーバーライドする方法を提供するので、ライブラリが依存関係より先にリストされていると、デバイスによってはロードに失敗します。
android_deployment_settings_file
注: この変数はAndroidターゲットにのみ適用されます。
androiddeployqtと androidtestrunner
が必要とするandroid-deployment-settings.json
ファイルへのパスを指定する。これはqmakeによって生成された設定ファイルへのパスを上書きするので、有効な設定ファイルを提供する必要がある。
android_extra_libs
注意: この変数はAndroidターゲットにのみ適用されます。
アプリケーションのlibs
フォルダーにコピーされ、起動時にロードされる外部ライブラリーのリスト。これは例えば、アプリケーションでOpenSSLを有効にするために使用できます。詳細については、Android用のOpenSSLサポートの追加を参照してください。
複数のABI用の外部ライブラリをインクルードする場合(各ABIが独自のディレクトリを持つ場合)、以下を使用します:
for (abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $$PWD/$${abi}/library_name.so
それ以外の場合、ABIがライブラリ名に含まれている場合は、以下を使用します:
for (abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $$PWD/library_name_$${abi}.so
android_extra_plugins
注: この変数はAndroidターゲットにのみ適用されます。
QMLプラグインなど、アプリケーションがバンドルしなければならないが、アセットシステムを通じて配信できないC++プラグインやリソースへのパスを指定します。この変数を指定すると、androiddeployqtはすべてが適切にパッケージ化され、デプロイされるようにします。
ANDROID_EXTRA_PLUGINS
は、追加プラグインがビルドされるディレクトリを指す必要があります。さらに、ビルドディレクトリの構造はQtプラグインに似た命名規則、つまりplugins/<プラグイン名>に従わなければなりません。
プラグイン・ライブラリはlibplugins_<種類>_<名前>_<abi>.soという形式でなければなりません。これを実現するために、plugin pro ファイルは以下のように定義することができる:
TEMPLATE = lib CONFIG += plugin PLUGIN_TYPE = imageformats DESTDIR = $$top_builddir/plugins/myplugin TARGET = $$qt5LibraryTarget(myplugin, "plugins/$$PLUGIN_TYPE/")
.qmake.conf で top_builddir を次のように定義します:
top_builddir=$$shadowed($$PWD)
これにより、プラグインライブラリ(plugins/myplugin/libplugins_imageformats_myplugin_armeabi-v7a.so)に正しい名前のマングリングが適用されます。
次に、追加のイメージフォーマットプラグインmypluginが $$DESTDIR/plugins/myplugin/としてビルドされていると仮定すると、次のようにして正しくパッケージ化されるようにします:
ANDROID_EXTRA_PLUGINS += $$top_builddir/plugins
android_features
注意: この変数はAndroidモジュールにのみ適用されます。
モジュールの機能リストを指定します:
ANDROID_FEATURES += android.hardware.location.gps
詳しくは、Android <uses-feature> Docsを参照してください。
android_lib_dependencies
Note: この変数はAndroidモジュールにのみ適用されます。
Qtモジュールを書くときに便利です。例えば、モジュールで使われるビルド済みの依存関係のリストを指定します:
ANDROID_LIB_DEPENDENCIES += \ plugins/libplugins_platforms_qtforandroid.so
android_min_sdk_version
注意: この変数はAndroidターゲットにのみ適用されます。
プロジェクトの最小Android APIレベルを指定する。デフォルトでは、この変数はAPIレベル23に設定される。
android_package_source_dir
注: この変数はAndroidターゲットにのみ適用される。
カスタムAndroidパッケージテンプレートのパスを指定する。Androidパッケージ・テンプレートには以下が含まれます:
- AndroidManifest.xmlファイル
- build.gradleファイルおよびその他のGradleスクリプト
- res/values/libs.xmlファイル
この変数で指定されたパスには、src
ディレクトリの下にカスタムJavaクラスを含めることができます。デフォルトでは、androiddeployqtツールはQt for Androidのインストールパスからアプリケーションテンプレートをプロジェクトのビルドディレクトリにコピーし、その上にこの変数で指定されたパスの内容を既存のファイルを上書きしてコピーします。例えば、アプリケーション用にカスタムAndroidManifest.xml
を作成し、これをこの変数で指定されたディレクトリに直接置くことができます。
アンドロイドパーミッション
注意: この変数はAndroidモジュールにのみ適用されます。
モジュールのパーミッションリストを指定する:
ANDROID_PERMISSIONS += android.permission.ACCESS_FINE_LOCATION
詳細については、Android <uses-permission> Docsを参照してください。
android_target_sdk_version
注: この変数はAndroidターゲットにのみ適用されます。
プロジェクトのターゲットAndroid APIレベルを指定する。デフォルトでは、この変数はAPIレベル34に設定されている。
android_version_code
注: この変数はAndroidターゲットにのみ適用されます。
アプリケーションのバージョン番号を指定する。詳細については、Androidアプリのバージョン管理を参照してください。
アンドロイドバージョン名
注: この変数はAndroidターゲットにのみ適用されます。
アプリケーションのバージョンを人間が読める文字列で指定します。詳細については、Androidアプリのバージョン管理を参照してください。
CONFIG
プロジェクトのコンフィギュレーションとコンパイラのオプションを指定します。値はqmakeによって内部的に認識され、特別な意味を持ちます。
注: 値は大文字と小文字を区別します。
以下のCONFIG
の値は、コンパイラとリンカのフラグを制御します:
オプション | 説明 |
---|---|
リリース | プロジェクトをリリース・モードでビルドします。debug も指定すると、最後のものが有効になります。 |
デバッグ | プロジェクトをデバッグモードでビルドします。 |
debug_and_release | プロジェクトはデバッグモードとリリースモードの両方でビルドされるように準備されています。 |
debug_and_release_target | このオプションはデフォルトで設定されています。debug_and_release もセットされている場合、デバッグとリリースのビルドは別々のデバッグ・ディレクトリとリリース・ディレクトリになります。 |
build_all | debug_and_release を指定すると、プロジェクトはデフォルトでデバッグとリリースの両方のモードでビルドされます。 |
autogen_precompile_source | .pro ファイルで指定されたプリコンパイルされたヘッダーファイルを含む.cpp ファイルを自動的に生成します。 |
注文済み | subdirs テンプレートを使用する場合、このオプションは、リストされたディレクトリを指定された順序で処理するように指定します。注意: このオプションの使用は推奨されません。SUBDIRS変数の説明に従って依存関係を指定してください。 |
precompile_header | プロジェクトでプリコンパイルされたヘッダを使用できるようにする。 |
precompile_header_c (MSVC のみ) | C ファイルでコンパイル済みヘッダを使用できるようにします。 |
warn_on | コンパイラーができるだけ多くの警告を出力するようにします。warn_off も指定すると、最後のものが有効になる。 |
warn_off | コンパイラーはできるだけ警告を出力しない。 |
例外 | 例外サポートを有効にする。デフォルトで設定される。 |
例外オフ | 例外サポートを無効にする。 |
ltcg | リンク・タイム・コード生成を有効にする。このオプションはデフォルトではオフである。 |
rtti | RTTIサポートを有効にする。デフォルトでは、コンパイラのデフォルトが使用される。 |
rtti_off | RTTIサポートを無効にする。デフォルトでは、コンパイラのデフォルトが使用される。 |
stl | STL サポートを有効にします。デフォルトでは、コンパイラのデフォルトが使用されます。 |
stl_off | STL サポートを無効にする。デフォルトでは、コンパイラのデフォルトが使用される。 |
スレッド | スレッドのサポートを有効にします。これは、CONFIG にqt が含まれている場合に有効になります(デフォルト)。 |
no_utf8_source | プロジェクトのソース・ファイルに UTF-8 エンコードを使用しないことを指定します。代わりに、コンパイラのデフォルトが使用されます。 |
hide_symbols | バイナリ中のシンボルのデフォルトの可視性を非表示に設定します。デフォルトでは、コンパイラのデフォルトが使用されます。 |
c99 | C99 サポートを有効にします。このオプションは、コンパイラがC99をサポートしていない場合、またはC標準を選択できない場合には効果がありません。デフォルトでは、コンパイラのデフォルトが使用されます。 |
c11 | C11サポートを有効にします。このオプションは、コンパイラが C11 をサポートしていない場合、または C 標準を選択できない場合には、何の効果もありません。デフォルトでは、コンパイラのデフォルトが使用されます。 |
c17 | C18としても知られるC17のサポートを有効にします。このオプションは、コンパイラが 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に追加することを有効にする。デフォルトで設定されている。 |
リリース | TRANSLATIONSおよびEXTRA_TRANSLATIONSにリストされているすべてのファイルに対してlrelease 。embed_translations が設定されていない場合は、生成された .qm ファイルを QM_FILES_INSTALL_PATH にインストールします。QMAKE_LRELEASE_FLAGS を使用して、lrelease 呼び出しにオプションを追加します。デフォルトでは設定されていません。 |
embed_translations | lrelease から生成された翻訳をQM_FILES_RESOURCE_PREFIX の下にある実行ファイルに埋め込みます。lrelease も設定されている必要があります。デフォルトでは設定されていません。 |
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 に追加しません。 |
コンパイル済みソース | デフォルトでは、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 のようなものです。これらは利用可能であれば使用すべきである。
meta 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アプリケーションまたはライブラリです。適切なインクルード・パスとライブラリが自動的にプロジェクトに追加されます。 |
テストケース | ターゲットは自動テストです。テストを実行するためのチェックターゲットが生成された Makefile に追加されます。Makefile を生成するときにのみ関連します。 |
insignificant_test | 自動テストの終了コードは無視されます。testcase も設定されている場合にのみ関連する。 |
windows | ターゲットはWin32ウィンドウアプリケーションです(アプリのみ)。適切なインクルード・パス、コンパイラ・フラグ、ライブラリが自動的にプロジェクトに追加されます。 |
コンソール | ターゲットはWin32コンソール・アプリケーションです(アプリのみ)。適切なインクルード・パス、コンパイラー・フラグ、ライブラリーが自動的にプロジェクトに追加されます。クロスプラットフォーム・アプリケーションには、cmdline オプションの使用を検討してください。 |
cmdline | ターゲットはクロスプラットフォームのコマンドラインアプリケーションです。Windowsでは、これはCONFIG += console を意味します。macOSでは、これはCONFIG -= app_bundle を意味します。 |
shared | ターゲットは共有オブジェクト/DLLです。適切なインクルード・パス、コンパイラ・フラグ、ライブラリが自動的にプロジェクトに追加されます。dll はすべてのプラットフォームで使用できることに注意してください。ターゲット・プラットフォームに適した接尾辞(.dll または .so)を持つ共有ライブラリ・ファイルが作成されます。 |
dll | |
スタティック | ターゲットはスタティック・ライブラリ(libのみ)です。適切なコンパイラ・フラグが自動的にプロジェクトに追加されます。 |
staticlib | |
プラグイン | ターゲットはプラグイン(libのみ)。dllも有効になります。 |
デザイナー | ターゲットは Qt Widgets Designer のプラグインです。 |
no_lflags_merge | LIBS 変数に格納されているライブラリのリストが、使用前に一意な値のリストにならないようにします。 |
メタタイプ | 現在のプロジェクト用に<name>_metatypes.json ファイルを作成します。<name> はTARGET の小文字のベース名です。 |
qmltypes | C++で定義されたQML型を自動的に登録する。詳細はC++からQML型を定義するを参照。また、現在のプロジェクト用に<template>.qmltypes ファイルを作成します。<template> はplugin が設定されていればplugins (歴史的な理由により複数形)、そうでなければTEMPLATEの値となります。qmltypes はmetatypes を意味します。 |
これらのオプションは、Windows上でのみ特定の機能を定義します:
オプション | 説明 |
---|---|
フラット | vcappテンプレートを使用するとき、すべてのソースファイルをソースグループに、ヘッダーファイルをヘッダーグループに置きます。このオプションをオフにすると、ファイルが存在するディレクトリに応じて、ソース/ヘッダーグループにグループ化されます。デフォルトではオンになっています。 |
embed_manifest_dll | ライブラリ・プロジェクトの一部として作成される DLL にマニフェスト・ファイルを埋め込みます。 |
embed_manifest_exe | アプリケーション・プロジェクトの一部として作成される EXE にマニフェスト・ファイルを埋め込みます。 |
マニフェスト・ファイルを埋め込むオプションの詳細については、「プラットフォーム・ノート」を参照してください。
以下のオプションは macOS でのみ有効です:
オプション | 説明 |
---|---|
app_bundle | 実行ファイルをバンドルに入れます(これがデフォルトです)。 |
lib_bundle | ライブラリをライブラリバンドルに入れます。 |
プラグインバンドル | プラグインをプラグインバンドルに入れます。この値は、Xcode プロジェクトジェネレータではサポートされていません。 |
バンドルのビルドプロセスは、QMAKE_BUNDLE_DATA変数の内容にも影響されます。
以下のオプションは、Linux/Unix プラットフォームでのみ有効です:
オプション | 説明 |
---|---|
ラージファイル | ラージファイルのサポートを含みます。 |
separate_debug_info | ライブラリのデバッグ情報を別ファイルにする。 |
CONFIG
変数はスコープの解決時にもチェックされます。この変数には何を代入してもよい。
例えば
CONFIG += console newstuff ... newstuff { SOURCES += new.cpp HEADERS += new.h }
DEFINES
qmakeはこの変数の値をコンパイラCプリプロセッサマクロとして追加します(-Dオプション)。
例えば
DEFINES += USE_MY_STUFF
DEFINES_DEBUG
デバッグ構成用のプリプロセッサ定義を指定します。この変数の値は、プロジェクトがロードされた後にDEFINESに追加されます。この変数は通常qmake.confで設定され、ほとんど変更する必要はありません。
この変数はQt 5.13.2で導入されました。
defines_release
リリースコンフィギュレーションのプリプロセッサ定義を指定します。この変数の値は、プロジェクトがロードされた後にDEFINESに追加されます。この変数は通常qmake.confで設定され、変更する必要はほとんどありません。
注意: MSVC mkspecの場合、この変数にはデフォルトで値NDEBUG
が格納されます。
この変数は Qt 5.13.2 で導入されました。
DEF_FILE
注: この変数は、app
テンプレートを使うときに、Windows でのみ使われます。
プロジェクトに含める.def
ファイルを指定します。
DEPENDPATH
依存関係を解決するためにqmakeがスキャンするディレクトリのリストを指定する。この変数は、qmake がソースコード内のヘッダーファイル#include
をクロールするときに使用されます。
DESTDIR
ターゲットファイルを置く場所を指定する。
例えば
DESTDIR = ../../lib
注意: サポートされる文字のリストは、使用するビルドツールに依存します。特に、括弧はmake
では動作しません。
DISTFILES
distターゲットに含めるファイルのリストを指定します。この機能はUnixMake仕様でのみサポートされています。
例えば
DISTFILES += ../program.txt
DLLDESTDIR
注意: この変数はWindowsターゲットにのみ適用されます。
ターゲットのDLLをコピーする場所を指定します。
extra_translations
ユーザー・インターフェース・テキストの非ネイティブ言語への翻訳を含む翻訳ファイル(.ts)のリストを指定します。
TRANSLATIONSとは対照的に、EXTRA_TRANSLATIONS
の翻訳ファイルはlupdate ではなくlrelease でのみ処理されます。
CONFIG += lrelease を使用することで、ビルド時に自動的に翻訳ファイルをコンパイルすることができ、CONFIG += lrelease embed_translationsを使用することで、Qt Resource System で翻訳ファイルを利用することができます。
Qtの国際化(i18n)とローカライゼーション(l10n)の詳細については、Qt Linguist Manualを参照してください。
FORMS
コンパイル前にuic
で処理される UI ファイル (Qt Widgets Designer Manual を参照) を指定します。これらの UI ファイルをビルドするために必要なすべての依存関係、ヘッダー、ソースファイルが自動的にプロジェクトに追加されます。
例えば
FORMS = mydialog.ui \ mywidget.ui \ myconfig.ui
GUID
.vcproj
ファイル内に設定される GUID を指定します。GUIDは通常ランダムに決定されます。しかし、固定のGUIDが必要な場合は、この変数を使って設定することができる。
この変数は.vcproj
ファイル専用である。
HEADERS
プロジェクトのヘッダーファイルを定義します。
qmakeはヘッダ内のクラスでmocが必要かどうかを自動的に検出し、mocファイルの生成とリンクのために適切な依存関係とファイルをプロジェクトに追加します。
例えば
HEADERS = myclass.h \ login.h \ mainwindow.h
SOURCES も参照してください。
アイコン
この変数はMac OS上で、アプリケーション・アイコンを設定するためにのみ使用されます。詳細はアプリケーション・アイコンのドキュメントを参照してください。
IDLSOURCES
この変数は、Visual Studioのプロジェクト生成でGenerated Filesフォルダに指定されたファイルを置くために、Windows上でのみ使用されます。
インクルード・パス
プロジェクトのコンパイル時に検索する#includeディレクトリを指定します。
例えば、次のように指定します:
INCLUDEPATH = c:/msdev/include d:/stl/include
空白を含むパスを指定するには、「空白」で説明したテクニックを使用してパスを引用符で囲みます。
win32:INCLUDEPATH += "C:/mylibs/extra headers" unix:INCLUDEPATH += "/home/user/extra headers"
INSTALLS
make install
または同様のインストール手順が実行されたときにインストールされるリソースのリストを指定します。リストの各項目は通常、インストールされる場所に関する情報を提供する属性で定義されます。
例えば、target.path
の定義では、ビルド・ターゲットがインストールされる場所を記述し、INSTALLS
の割り当てでは、インストールされる既存のリソースのリストにビルド・ターゲットを追加します:
target.path += $$[QT_INSTALL_PLUGINS]/imageformats INSTALLS += target
INSTALLS
には メンバがあり、いくつかの値を取ることができます:.CONFIG
値 | 値 説明 |
---|---|
no_check_exist | 設定されていない場合、qmake はインストールするファイルが実際に存在するかどうかを確認します。ファイルが存在しない場合、qmake はインストールルールを作成しません。qdoc によって作成された HTML ファイルのように、ビルドプロセスの一部として生成されたファイルをインストールする必要がある場合に、この設定値を使用します。 |
ノストリップ | 設定された場合、典型的な Unix のストリップ機能はオフになり、デバッグ情報はバイナリに残ります。 |
実行可能 | Unix では、実行可能フラグを設定します。 |
no_build | make install を実行し、プロジェクトのビルドがまだない場合、プロジェクトはまずビルドされ、それからインストールされます。この動作を望まない場合は、この設定値を設定して、ビルドターゲットがインストールターゲットの依存関係として追加されないようにします。 |
no_default_install | プロジェクトにはトップレベルのプロジェクトターゲットがあり、make install を実行すると、すべてがインストールされます。しかし、この設定値が設定されたインストールターゲットがある場合、デフォルトではインストールされません。その場合、明示的にmake install_<file> と言う必要があります。 |
詳細は、ファイルのインストールを参照してください。
この変数は、組み込みデバイスにデプロイされる追加ファイルを指定するためにも使用されます。
JAVA_HOME
注: この変数は、Androidターゲットにのみ有用である。
プロジェクトのビルドに使用するJDK/OpenJDKのインストールパスを指定する。
LEXIMPLS
Lex実装ファイルのリストを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどない。
LEXOBJECTS
Lexの中間オブジェクトファイルの名前を指定する。この変数の値は通常qmakeによって扱われ、ほとんど変更する必要はない。
LEXSOURCES
Lexソースファイルのリストを指定します。すべての依存関係、ヘッダ、ソースファイルは、これらのlexファイルをビルドするためのプロジェクトに自動的に追加されます。
例えば
LEXSOURCES = lexer.l
LIBS
プロジェクトにリンクするライブラリのリストを指定します。Unixの-l
(ライブラリ)と-L(ライブラリパス)フラグを使用すると、qmakeはWindows上でライブラリを正しく処理します(つまり、ライブラリのフルパスをリンカに渡します)。qmakeが-l
libのあるディレクトリを見つけるためには、ライブラリが存在しなければなりません。
例えば
unix:LIBS += -L/usr/local/lib -lmath win32:LIBS += c:/mylibs/math.lib
空白を含むパスを指定するには、「空白」で説明したテクニックを使用してパスを引用符で囲みます。
win32:LIBS += "C:/mylibs/extra libs/extra.lib" unix:LIBS += "-L/home/user/extra libs" -lextra
デフォルトでは、LIBS
に格納されているライブラリのリストは、使用される前に一意な名前のリストに縮小されます。この動作を変更するには、CONFIG変数にno_lflags_merge
オプションを追加する:
CONFIG += no_lflags_merge
LIBS_PRIVATE
プロジェクトにプライベートでリンクするライブラリのリストを指定する。この変数の動作はLIBSと同じですが、Unix用にビルドされた共有ライブラリ・プロジェクトは、リンク・インターフェースでこれらの依存関係を公開しません。
この結果、プロジェクトCがライブラリAにプライベートリンクされているライブラリBに依存しているが、CもAのシンボルを直接使用したい場合、明示的にAにリンクする必要があります。別の言い方をすれば、プライベートでリンクされたライブラリは、ビルド時に移行的に公開されることはありません。
LITERAL_HASH
この変数は、変数宣言でリテラル・ハッシュ文字(#
)が必要なときに使用される。ファイル名の一部や、外部アプリケーションに渡される文字列で使用される。
例えば
# To include a literal hash character, use the $$LITERAL_HASH variable: urlPieces = http://doc.qt.io/qt-5/qtextdocument.html pageCount message($$join(urlPieces, $$LITERAL_HASH))
このようにLITERAL_HASH
を使うと、message()
関数がコンソールに出力する URL を構築するために、#
文字を使うことができる。
MAKEFILE
生成される Makefile の名前を指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。
makefile_generator
Makefile を生成するときに使用する Makefile ジェネレータの名前を指定します。この変数の値は通常 qmake によって内部的に処理され、ほとんど変更する必要はありません。
MSVCPROJ_*
これらの変数は qmake によって内部的に処理されるため、変更したり利用したりするべきではありません。
MOC_DIR
すべての中間 moc ファイルを置くディレクトリを指定する。
例えば
unix:MOC_DIR = ../myproject/tmp win32:MOC_DIR = c:/myproject/tmp
objective_headers
プロジェクトのObjective-C++ヘッダファイルを定義します。
qmakeはヘッダ内のクラスでmocが必要かどうかを自動的に検出し、mocファイルの生成とリンクのために適切な依存関係とファイルをプロジェクトに追加します。
これはHEADERS変数と似ていますが、生成されたmocファイルをObjective-C++コンパイラでコンパイルできるようにします。
OBJECTIVE_SOURCESも参照してください。
オブジェクト・ソース
プロジェクト内のすべてのObjective-C/C++ソース・ファイルの名前を指定します。
Objective-C/C++ファイル(.mと.mm)はSOURCES変数に追加できます。
OBJECTIVE_HEADERSも参照してください。
OBJECTS
この変数はSOURCES変数から自動的に入力されます。各ソースファイルの拡張子は.o(Unix)または.obj(Win32)に置き換えられます。リストにオブジェクトを追加することができます。
OBJECTS_DIR
すべての中間オブジェクトを置くディレクトリを指定します。
例えば
unix:OBJECTS_DIR = ../myproject/tmp win32:OBJECTS_DIR = c:/myproject/tmp
post_targetdeps
ターゲットが依存するライブラリをリストします。Visual Studio や Xcode プロジェクトファイルのジェネレータのようないくつかのバックエンドは、この変数をサポートしていません。一般的に、この変数はこれらのビルドツールによって内部的にサポートされており、依存する静的ライブラリを明示的にリストするのに便利です。
このリストは、すべてのビルトイン(および$$PRE_TARGETDEPS)の依存関係の後に置かれます。
PRE_TARGETDEPS
ターゲットが依存するライブラリをリストします。Visual Studio や Xcode プロジェクトファイルのジェネレータなど、一部のバックエンドはこの変数をサポートしていません。一般的に、この変数はこれらのビルドツールによって内部的にサポートされており、依存する静的ライブラリを明示的にリストするのに便利です。
このリストは、すべての組み込み依存ライブラリの前に置かれます。
precompiled_header
プロジェクトのコンパイル速度を上げるために、プリコンパイルされたヘッダーファイルを作成するためのヘッダーファイルを示します。プリコンパイルされたヘッダは、現在一部のプラットフォームでのみサポートされています (Windows - すべての MSVC プロジェクト・タイプ、Apple - Xcode、Makefile、Unix - gcc 3.3 以上)。
PWD
現在解析されているファイルを含むディレクトリへのフルパスを指定します。これは、シャドウビルドをサポートするプロジェクトファイルを記述するときに、ソースツリー内のファイルを参照するのに便利です。
PRO_FILE_PWD_も参照してください。
注意: この変数の値を上書きしないでください。
OUT_PWD
qmake が生成した Makefile を置くディレクトリへのフルパスを指定します。
注意: この変数の値を上書きしないでください。
qm_files_resource_prefix
CONFIG += embed_translations によって.qm
ファイルが利用可能になるリソースシステム内のディレクトリを指定します。
デフォルトは:/i18n/
です。
qm_files_install_path
CONFIG += lreleaseで生成された.qm
ファイルをインストールするディレクトリを指定します。CONFIG += embed_translationsが設定されている場合は影響しません。
qml_import_path
この変数はQt Creator でのみ使用されます。Qt インストールの外部に追加モジュールがある場合、そのパスをここに指定できます。
Qt Creator を参照してください:Using QML Modules with Pluginsを参照してください。
QMLPATHS
QML モジュールのツリーのルートディレクトリを指すインポートパスのリストを期待します。例えば、QMLモジュールの場所をカスタムで決めている場合は、ここで指定することができます。
注意: QMLPATHSのパスエントリはQMLモジュールのツリーのルートディレクトリを指します。これはQMLエンジンが理解するインポートパスの概念です。同じパスをQML_IMPORT_PATH
環境変数経由でQMLアプリケーションに渡すことができますが、QML_IMPORT_PATH qmake変数が期待する内容とは異なります。QML_IMPORT_PATH は Qt Creator で処理される個々のモジュールへのパスを想定しています。
注意: QMLPATHS の内容は自動的にアプリケーションに渡されるわけではありません。むしろ、ビルド時にのみ使用されます。特に、qmlimportscanner は QMLPATHS を使って、アプリケーションにインポートされる QML モジュールを探します。
QMAKE
qmakeプログラム自体の名前を指定し、生成されるMakefileに配置されます。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。
QMAKESPEC
Makefile を生成するときに使用される qmake 設定のフルパスを含むシステム変数。この変数の値は自動的に計算されます。
注意: この変数の値を上書きしようとしないでください。
qmake_apple_device_archs
注意: この変数は macOS でのみ使用されます。
ビルドするアーキテクチャのリストを指定します。デフォルトでは、プロジェクトは開発マシンのアーキテクチャに合わせてビルドされます。この変数を使うと、デフォルトを上書きして別のアーキテクチャ用にビルドしたり、マルチアーキテクチャ・バイナリを作成したりすることができる。
この変数は通常、コマンドラインかプロジェクトファイルで指定します。
詳細はQt for macOSを参照してください。
QMAKE_AR_CMD
注意: この変数は Unix プラットフォームでのみ使用されます。
共有ライブラリの作成時に実行するコマンドを指定します。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。
qmake_bundle_data
注: この変数はmacOS、iOS、tvOS、watchOSでのみ使用されます。
ライブラリバンドルと一緒にインストールされるデータを指定し、ヘッダーファイルのコレクションを指定するためによく使われる。
例えば、以下の行では、path/to/header_one.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
オプションが追加されると、ライブラリバンドルが作成されます。
ライブラリバンドルの作成についての詳細はPlatform Notes を参照してください。
プロジェクトはこの変数を使ってアプリケーションの翻訳ファイルをバンドルすることもできます。正確な構文は、プロジェクトが Xcode のレガシービルドシステムを使用しているか、新しいビルドシステムを使用しているかに依存します。
例えば、以下のプロジェクトスニペットがレガシービルドシステムを使用してビルドされている場合:
translations_en.files = $$PWD/en.lproj/InfoPlist.strings translations_en.path = en.lproj QMAKE_BUNDLE_DATA += translations_en
Xcode は、InfoPlist.strings
の元の場所を無視し、ファイルは、提供されたtranslations_en.path
パスの下のバンドルResources
ディレクトリに配置されます。Resources/en.lproj/InfoPlist.strings
新しいビルドシステムでは、ファイルの相対的な場所は保持されます。Resources/en.lproj/en.lproj/InfoPlist.strings
ファイルが正しく配置されるようにするには、プロジェクトは元のファイルをサブディレクトリに移動しないようにするか、translations_en.path
変数を指定しないようにします。
# Approach 1 translations_en.files = $$PWD/InfoPlist.strings translations_en.path = en.lproj # Approach 2 translations_de.files = $$PWD/de.lproj/InfoPlist.strings QMAKE_BUNDLE_DATA += translations_en translations_de
Xcode のビルドシステムが翻訳ファイルをバンドルする際の動作をどのように変更したかの詳細については、QTBUG-98417を参照してください。
qmake_bundle_extension
Note: この変数は、macOS、iOS、tvOS、watchOS でのみ使用されます。
ライブラリバンドルに使用する拡張子を指定します。これにより、標準の.framework
ディレクトリ名拡張子の代わりに、カスタム拡張子でフレームワークを作成できるようになります。
例えば、以下の定義は、.myframework
の拡張子を持つフレームワークになります:
QMAKE_BUNDLE_EXTENSION = .myframework
QMAKE_CC
C ソースコードを含むプロジェクトをビルドするときに使用する C コンパイラーを指定します。Makefile が処理されるときにPATH
変数に含まれるパス上にある限り、コンパイラー実行ファイルのファイル名のみを指定する必要があります。
QMAKE_CFLAGS
プロジェクトをビルドするためのCコンパイラ・フラグを指定します。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。デバッグモードとリリースモードに固有のフラグは、それぞれQMAKE_CFLAGS_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
(mocやuic などによって) 生成されたファイルと、make clean
によって削除されるオブジェクトファイルのリストを指定する。
QMAKE_CXX
C++ ソース・コードを含むプロジェクトをビルドするときに使用する C++ コンパイラを指定します。Makefile が処理されるときにPATH
変数に含まれるパス上にある限り、コンパイラー実行ファイルのファイル名のみを指定する必要があります。
QMAKE_CXXFLAGS
プロジェクトをビルドするための C++ コンパイラ・フラグを指定します。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。デバッグモードとリリースモードに固有のフラグは、それぞれQMAKE_CXXFLAGS_DEBUG
変数とQMAKE_CXXFLAGS_RELEASE
変数を変更することで調整できます。
qmake_cxxflags_debug
デバッグ・ビルド用の C++ コンパイラー・フラグを指定します。この変数の値は通常qmakeまたはqmake.confによって処理されるため、変更する必要はほとんどありません。
qmake_cxxflags_release
リリースビルド用の C++ コンパイラフラグを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。
qmake_cxxflags_release_with_debuginfo
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数 |
.名前 | ホスト・コンピュータ名 |
バージョン | ホスト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
Note: この変数はiOSプラットフォームでのみ使用されます。
アプリケーションがサポートするiOSのハード最小バージョンを指定します。
詳しくはサポートするiOSバージョンの表現 を参照してください。
qmake_ios_launch_screen
注: この変数はiOSプラットフォームでのみ使用されます。
アプリケーションが使用する起動画面を指定します。これが設定されていない場合は、デフォルトの起動画面が使用されます。
QMAKE_LFLAGS
リンカに渡されるフラグの一般的なセットを指定します。特定のプラットフォームやプロジェクトの種類に応じて使用するフラグを変更する必要がある場合は、この変数ではなく、その目的に特化した変数を使用してください。
qmake_lflags_console
注意: この変数は Windows でのみ使用されます。
コンソールプログラムをビルドするときのリンカーフラグを指定する。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。
qmake_lflags_debug
デバッグビルド用のリンカーフラグを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。
qmake_lflags_plugin
プラグインをビルドするときのリンカーフラグを指定する。この変数の値は通常 qmake またはqmake.confによって処理され、ほとんど変更する必要はない。
qmake_lflags_rpath
注意: この変数は Unix プラットフォームでのみ使用されます。
QMAKE_RPATHDIR の値を使うために必要なリンカフラグを指定します。
この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。
qmake_lflags_rel_rpath
QMAKE_RPATHDIR で相対パスを有効にするために必要なリンカーフラグを指定します。
この変数の値は通常 qmake またはqmake.confによって処理され、ほとんど変更する必要はない。
qmake_rel_rpath_base
ダイナミックリンカーが参照する実行ファイルまたはライブラリの場所として理解する文字列を指定します。
この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。
qmake_lflags_rpathlink
QMAKE_RPATHLINKDIR の値を使用するために必要なリンカーフラグを指定します。
この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。
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
EGLがOpenGL/ESまたはOpenVGとともに使われる場合に、EGLライブラリディレクトリの場所を指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。
qmake_libdir_opengl
OpenGLライブラリディレクトリの場所を指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。
OpenGLの実装がEGLを使用する場合(ほとんどのOpenGL/ESシステム)、QMAKE_LIBDIR_EGLも設定する必要があるかもしれません。
qmake_libdir_openvg
OpenVGライブラリディレクトリの場所を指定します。この変数の値は通常 qmake またはqmake.confによって処理され、ほとんど変更する必要はありません。
OpenVG の実装が EGL を使っている場合は、QMAKE_LIBDIR_EGL も設定する必要があるかもしれません。
qmake_libdir_x11
注意: この変数は Unix プラットフォームでのみ使用されます。
X11ライブラリディレクトリの場所を指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。
QMAKE_LIBS
各プロジェクトがリンクする必要のある追加のライブラリを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。
プロジェクトファイルでライブラリを指定するには、代わりにLIBSを使います。
qmake_libs_private
各プロジェクトがリンクする必要のある追加のプライベートライブラリを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。
ライブラリプロジェクトファイルでプライベートライブラリを指定するには、代わりにLIBS_PRIVATEを使用してください。
QMAKE_LIBS_EGL
OpenGL/ESまたはOpenVGでQtをビルドするときに、すべてのEGLライブラリを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。通常の値は-lEGL
です。
qmake_libs_opengl
すべてのOpenGLライブラリを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。
OpenGLの実装がEGLを使う場合(ほとんどのOpenGL/ESシステム)、QMAKE_LIBS_EGLも設定する必要があるかもしれません。
qmake_libs_opengl_es1, qmake_libs_opengl_es2
これらの変数は、OpenGL ES 1とOpenGL ES 2のすべてのOpenGLライブラリを指定します。
これらの変数の値は、通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。
OpenGL実装がEGLを使用する場合(ほとんどのOpenGL/ESシステム)、QMAKE_LIBS_EGLも設定する必要があるかもしれません。
qmake_libs_openvg
すべてのOpenVGライブラリを指定します。この変数の値は通常 qmake またはqmake.confによって処理され、ほとんど変更する必要はありません。通常の値は-lOpenVG
です。
いくつかのOpenVGエンジンはOpenGLの上に実装されています。これは configure 時に検出され、OpenVG ライブラリがリンクされる場所では QMAKE_LIBS_OPENVG に QMAKE_LIBS_OPENGL が暗黙的に追加されます。
OpenVG の実装が EGL を使用している場合は、QMAKE_LIBS_EGL も設定する必要があるかもしれません。
qmake_libs_thread
注意: この変数は Unix プラットフォームでのみ使用されます。
マルチスレッドターゲットをビルドするときにリンクする必要のあるすべてのライブラリを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。
QMAKE_LIBS_X11
注意: この変数は Unix プラットフォームでのみ使用されます。
すべてのX11ライブラリを指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。
QMAKE_LIB_FLAG
lib
テンプレートが指定されている場合、この変数は空ではありません。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。
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_QMAKE
qmake 実行ファイルの絶対パス。
注意: この変数の値を上書きしないでください。
qmake_resource_flags
この変数は、この変数が使用される各ビルドルールでリソースコンパイラに渡されるオプションのリストをカスタマイズするために使用されます。例えば、次の行はrcc
が呼び出されるたびに-threshold
と-compress
のオプションが特定の値で使われるようにします:
QMAKE_RESOURCE_FLAGS += -threshold 0 -compress 9
QMAKE_RPATHDIR
注意: この変数はUnixプラットフォームでのみ使用されます。
QMAKE_RPATHDIR 注意: この変数はUnixプラットフォームでのみ使用されます。実行時に優先的にパスが検索されるように、リンク時に実行ファイルに追加されるライブラリのパスのリストを指定します。
相対パスが指定された場合、qmake は参照する実行ファイルやライブラリの位置からの相対パスであるとダイナミックリンカが理解できる形に整形します。これは一部のプラットフォーム(現在のところ Linux と Darwin ベースのもの)のみでサポートされており、QMAKE_REL_RPATH_BASE が設定されているかどうかをチェックすることで検出できます。
qmake_rpathlinkdir
スタティックリンカーが共有ライブラリの暗黙の依存関係を検索するためのライブラリパスのリストを指定します。詳細については、ld(1)
のマニュアル・ページを参照してください。
QMAKE_RUN_CC
オブジェクトのビルドに必要な個々のルールを指定します。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。
qmake_run_cc_imp
オブジェクトのビルドに必要な個々のルールを指定する。この変数の値は通常 qmake またはqmake.confによって処理され、ほとんど変更する必要はありません。
QMAKE_RUN_CXX
オブジェクトのビルドに必要な個々のルールを指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はありません。
qmake_run_cxx_imp
オブジェクトのビルドに必要な個々のルールを指定します。この変数の値は通常 qmake またはqmake.confによって処理され、変更する必要はほとんどありません。
qmake_soname_prefix
定義されている場合、この変数の値はビルドされた共有ライブラリのSONAME
識別子の前に付加されるパスとして使用されます。SONAME
は、後でダイナミックリンカーがライブラリを参照するために使用する識別子です。一般に、この参照はライブラリ名またはフル・ライブラリ・パスである。macOS、iOS、tvOS、watchOSでは、以下のプレースホルダを使用して相対的にパスを指定できます:
プレースホルダ | プレースホルダー |
---|---|
パス | 現在のプロセスの実行ファイルまたは参照ライブラリのLC_RPATH mach-oコマンドで定義されたパスに展開します。 |
実行可能パス | 現在のプロセスの実行ファイルの場所に展開します。 |
ローダパス | 参照先の実行ファイルまたはライブラリの場所に展開する。 |
ほとんどの場合、@rpath
を使用すれば十分であり、推奨される:
# <project root>/project.pro QMAKE_SONAME_PREFIX = @rpath
しかし、接頭辞は、別のプレースホルダーや、次のような絶対パスを使用して指定することもできます:
# <project root>/project.pro QMAKE_SONAME_PREFIX = @executable_path/../Frameworks QMAKE_SONAME_PREFIX = @loader_path/Frameworks QMAKE_SONAME_PREFIX = /Library/Frameworks
詳細については、ダイナミック・ライブラリのインストール名に関するdyldのドキュメントを参照してください。
QMAKE_TARGET
プロジェクト・ターゲットの名前を指定します。この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。
qmake_target_company
Windows のみ。プロジェクトターゲットの会社を指定します。これは、アプリケーションのプロパティに会社名を入れるために使用されます。これは、VERSIONまたはRC_ICONS変数が設定され、RC_FILEおよびRES_FILE変数が設定されていない場合にのみ使用されます。
qmake_target_description
Windowsのみ。プロジェクト・ターゲットの説明を指定します。これは、アプリケーションのプロパティに説明を記述するために使用されます。これは、VERSION変数またはRC_ICONS変数が設定され、RC_FILE変数とRES_FILE変数が設定されていない場合にのみ使用されます。
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_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
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リソース・コンパイラに渡されるインクルード・パスを指定します。
RCC_DIR
Qt Resource Compilerの出力ファイルのディレクトリを指定します。
例えば
unix:RCC_DIR = ../myproject/resources win32:RCC_DIR = c:/myproject/resources
REQUIRES
条件として評価される値のリストを指定します。いずれかの条件がfalseの場合、qmakeはビルド時にこのプロジェクト(とそのSUBDIRS)をスキップします。
注意: ビルド時にプロジェクトやサブプロジェクトをスキップしたい場合は、代わりにrequires()関数を使用することをお勧めします。
RESOURCES
ターゲットのリソース・コレクション・ファイル (qrc) の名前を指定します。リソースコレクションファイルの詳細については、Qt Resource System を参照してください。
RES_FILE
Windowsのみ。このターゲットのWindowsリソース・コンパイラの出力ファイル名を指定します。RC_FILEと Windowsリソースファイルの追加を参照してください。
この変数の値は通常qmakeまたはqmake.confによって処理され、変更する必要はほとんどありません。
SOURCES
プロジェクト内のすべてのソースファイルの名前を指定する。
例えば
SOURCES = myclass.cpp \ login.cpp \ mainwindow.cpp
HEADERS も参照。
SUBDIRS
この変数をsubdirs
テンプレートと一緒に使用すると、ビルドする必要があるプロジェクトの一部を含むすべてのサブディレクトリまたはプロジェクトファイルの名前を指定します。この変数を使って指定された各サブディレクトリは、それ自身のプロジェクトファイルを含んでいなければならない。
各サブディレクトリのプロジェクトファイルは、そのサブディレクトリ自身と同じベース名を持つことが推奨される。例えば、サブディレクトリの名前がmyapp
の場合、そのディレクトリのプロジェクトファイルはmyapp.pro
という名前になります。
また、任意のディレクトリにある .pro ファイルへの相対パスを指定することもできます。ただし、現在のプロジェクトの親ディレクトリとそのサブディレクトリ内のパスだけを指定することを強くお勧めします。
例えば
SUBDIRS = kernel \ tools \ myapp
サブディレクトリを特定の順序でビルドする必要がある場合は、関連するSUBDIRS
要素に.depends
修飾子を使用します。
例えば
SUBDIRS += my_executable my_library tests doc my_executable.depends = my_library tests.depends = my_executable
上記の設定では、my_library
がmy_executable
の前にビルドされ、my_executable
がtests
の前にビルドされるようになっています。しかし、doc
を他のサブディレクトリと並行してビルドすることで、ビルドプロセスを高速化することができる。
注意 : 複数の依存関係を列挙することができ、それらはすべて、依存するターゲッ トの前にビルドされる。
注 :CONFIG += ordered の使用は、マルチコアビルドの速度を低下させる可能性があるため、推奨しない。上に示した例とは異なり、依存関係がなくても、すべてのビルドは順次行われる。
ビルド順序を定義する以外にも、SUBDIRS
要素に追加の修飾子を与えることで、SUBDIRS
のデフォルトの動作を変更することができる。サポートされている修飾子は以下の通りです:
修飾子 | 効果 |
---|---|
.subdir | SUBDIRS の値の代わりに指定されたサブディレクトリを使用する。 |
.file | サブプロジェクトpro ファイルを明示的に指定する。.subdir 修飾子とは併用できません。 |
.depends | このサブプロジェクトは指定されたサブプロジェクトに依存します。 |
.makefile | サブプロジェクトの makefile です。makefile を使うプラットフォームでのみ利用可能です。 |
.target | このサブプロジェクトに関連する makefile ターゲットに使われるベース文字列。makefileを使うプラットフォームでのみ利用可能。 |
例えば、2つのサブディレクトリを定義し、その両方がSUBDIRS
の値とは異なるディレクトリに存在し、サブディレクトリの1つがもう1つの前にビルドされなければなりません:
SUBDIRS += my_executable my_library my_executable.subdir = app my_executable.depends = my_library my_library.subdir = lib
TARGET
ターゲット・ファイルの名前を指定します。デフォルトではプロジェクト・ファイルのベース名を指定する。
例えば
TEMPLATE = app TARGET = myapp SOURCES = main.cpp
上記のプロジェクト・ファイルは、unix上ではmyapp
、Windows上ではmyapp.exe
という名前の実行ファイルを生成します。
TARGET_EXT
TARGET
の拡張子を指定します。この変数の値は通常 qmake またはqmake.confによって処理されるため、変更する必要はほとんどありません。
TARGET_x
TARGET
の拡張子をメジャーバージョン番号で指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。
TARGET_x.y.z
TARGET
の拡張子をバージョン番号で指定する。この変数の値は通常qmakeまたはqmake.confによって処理され、ほとんど変更する必要はない。
テンプレート
プロジェクトの生成時に使用するテンプレートの名前を指定します。指定できる値は以下のとおりです:
オプション | 説明 |
---|---|
app | アプリケーションをビルドするためのMakefileを作成します(デフォルト)。詳細はアプリケーションのビルドを参照してください。 |
lib | ライブラリをビルドするための Makefile を作成します。詳細はライブラリのビルドを参照してください。 |
サブディレクトリ | サブディレクトリにターゲットをビルドするための Makefile を作成します。サブディレクトリはSUBDIRS変数で指定します。 |
aux | 何もビルドしないための Makefile を作成します。例えば、プロジェクトがインタプリタ言語で書かれている場合など、ターゲットを作成するためにコンパイラを起動する必要がない場合に使用します。 注意: このテンプレート・タイプは Makefile ベースのジェネレーターでのみ利用可能です。特に、vcxproj と Xcode ジェネレータでは動作しません。 |
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とUsing lupdateツールの両方で処理されます。lrelease
でのみファイルを処理したい場合は、EXTRA_TRANSLATIONS を使用してください。
また、CONFIG += lrelease embed_translations を使用すると、Qt Resource System でファイルを利用できるようになります。
Qtの国際化(i18n)とローカライゼーション(l10n)の詳細については、Qt Linguist Manualを参照してください。
TR_EXCLUDE
lupdate
での処理から除外するパス (ソースファイル、サブディレクトリ、および C++ インクルードパス) のリストを指定します。パスにはワイルドカードを含めることができます。相対パスは_PRO_FILE_PWD_ からの相対パスとみなされます。
例えば、ソース・ファイルを除外する:
SOURCES += main.cpp \ excluded.cpp \ 3rdparty/sqlite3.h \ 3rdparty/sqlite3.c TR_EXCLUDE += excluded.cpp 3rdparty/*
SUBDIRS
プロジェクトのサブディレクトリを除外する:
SUBDIRS += \ libs \ apps \ tests TR_EXCLUDE += tests
lupdateのC++パーサーを高速化するには、インクルード・パスを除外します:
linux { TR_EXCLUDE += /usr/include/boost/* }
UI_DIR
uicからのすべての中間ファイルを置くディレクトリを指定します。
例えば
unix:UI_DIR = ../myproject/ui win32:UI_DIR = c:/myproject/ui
VERSION
app
テンプレートが指定されている場合はアプリケーションのバージョン番号を、lib
テンプレートが指定されている場合はライブラリのバージョン番号を指定します。
Windowsでは、RC_FILE変数とRES_FILE変数が設定されていない場合、.rcファイルの自動生成をトリガします。生成された.rcファイルには、FILEVERSIONとPRODUCTVERSIONの項目にメジャー、マイナー、パッチ・レベル、ビルド番号が入ります。各番号は0から65535の範囲でなければならない。.rcファイルの生成に関する詳細は、プラットフォーム・ノートを参照してください。
例えば
win32:VERSION = 1.2.3.4 # major.minor.patch.build else:VERSION = 1.2.3 # major.minor.patch
version_pe_header
Windowsのみ。Windowsリンカが/VERSIONオプションを使って.exeまたは.dllファイルのヘッダーに入れるバージョン番号を指定します。メジャー・バージョンとマイナー・バージョンのみを指定できます。VERSION_PE_HEADERが設定されていない場合、VERSION(設定されている場合)のメジャー・バージョンとマイナー・バージョンにフォールバックします。
VERSION_PE_HEADER = 1.2
VER_MAJ
lib
テンプレートが指定されている場合、ライブラリーのメジャー・バージョン番号を指定します。
VER_MIN
lib
テンプレートが指定されている場合、ライブラリのマイナー・バージョン番号を指定します。
VER_PAT
lib
テンプレートが指定されている場合、ライブラリのパッチ・バージョン番号を指定します。
VPATH
qmake が開くことができないファイルを検索する場所を指定します。例えば、qmake がSOURCES
を探して、開けないエントリを見つけた場合、VPATH リスト全体を調べて、そのファイルを自分で見つけられるかどうかを確認します。
DEPENDPATH も参照のこと。
windows_target_platform_version
対象となるWindowsのバージョンを指定します。これはvcxprojファイルのWindowsTargetPlatformVersion
タグに対応します。
デスクトップWindowsでは、デフォルト値は環境変数WindowsSDKVersion
の値です。
Windows_target_platform_min_version
Windows ターゲット・プラットフォームの最小バージョンを指定します。これは vcxproj ファイルのタグWindowsTargetPlatformMinVersion
に対応します。
デフォルトはWINDOWS_TARGET_PLATFORM_VERSION
です。
YACCSOURCES
プロジェクトに含める Yacc ソースファイルのリストを指定します。すべての依存関係、ヘッダー、ソースファイルは自動的にプロジェクトに含まれます。
例えば
YACCSOURCES = moc.y
PRO_FILE_
使用するプロジェクトファイルのパスを指定します。
例えば、以下の行ではプロジェクト・ファイルの場所がコンソールに書き込まれます:
message($$_PRO_FILE_)
注意: この変数の値を上書きしないでください。
_PRO_FILE_PWD_。
使用するプロジェクト・ファイルを含むディレクトリへのパスを指定します。
例えば、以下の行ではプロジェクト・ファイルを含むディレクトリの場所がコンソールに書き込まれます:
message($$_PRO_FILE_PWD_)
注意: この変数の値を上書きしないでください。
QQmlEngine::addImportPath()も参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。