qmake の設定

プロパティ

qmakeには永続的な設定のためのシステムがあり、qmakeのプロパティを一度設定し、qmakeが起動されるたびにそのプロパティを問い合わせることができます。qmakeでプロパティを設定するには次のようにします:

qmake -set PROPERTY VALUE

適切なプロパティと値は、PROPERTYVALUE に置き換えてください。

qmakeからこの情報を取得するには、次のようにします:

qmake -query PROPERTY
qmake -query #queries all current PROPERTY/VALUE pairs

注: qmake -query には、qmake -set PROPERTY VALUE で設定したプロパティに加えて、ビルトインのプロパティがリストされています。

この情報はQSettings オブジェクトに保存されます(つまり、プラットフォームごとに異なる場所に保存されます)。

以下のリストは、built-in のプロパティをまとめたものです:

  • QMAKE_SPEC - ホスト構築時に解決され、QMAKESPEC変数に格納されるホストmkspec の短縮名。
  • QMAKE_VERSION - qmakeの現在のバージョン。
  • QMAKE_XSPEC - ターゲットビルド中に解決され、QMAKESPEC変数に格納されるターゲットmkspec のショートネーム。
  • QT_HOST_BINS - ホストの実行可能ファイルの場所。
  • QT_HOST_DATA - qmake が使用するホスト実行可能ファイルのデータの場所。
  • QT_HOST_LIBS - ホスト・ライブラリの場所。
  • QT_HOST_LIBEXECS - 実行時にホストライブラリが必要とする実行ファイルの場所
  • QT_HOST_PREFIX - すべてのホストパスのデフォルトプレフィックス。
  • QT_INSTALL_ARCHDATA - 一般的なアーキテクチャ依存の Qt データの場所です。
  • QT_INSTALL_BINS - Qt バイナリ (ツールとアプリケーション) の場所です。
  • QT_INSTALL_CONFIGURATION - Qt の設定を行う場所。Windows では適用されません。
  • QT_INSTALL_DATA - アーキテクチャに依存しない一般的な Qt データの場所です。
  • QT_INSTALL_DOCS - ドキュメントの場所。
  • QT_INSTALL_EXAMPLES - サンプルの場所。
  • QT_INSTALL_HEADERS - すべてのヘッダファイルの場所
  • QT_INSTALL_LIBEXECS - 実行時にライブラリが必要とする実行ファイルの場所
  • QT_INSTALL_LIBS - ライブラリの場所。
  • QT_INSTALL_PLUGINS - Qt プラグインの場所
  • QT_INSTALL_PREFIX - すべてのパスのデフォルトプレフィックス。
  • QT_INSTALL_QML - QML 2.x 拡張モジュールの場所
  • QT_INSTALL_TESTS - Qt テストケースの場所です。
  • QT_INSTALL_TRANSLATIONS - Qt 文字列の翻訳情報の場所です。
  • QT_SYSROOT - ターゲットのビルド環境で使用される sysroot。
  • QT_VERSION - Qt のバージョン。代わりに $$QT.<module>.version 変数を使用して、Qt モジュール固有のバージョン番号を問い合わせることをお勧めします。

例えば、QT_INSTALL_PREFIX プロパティを使って、このバージョンの qmake の Qt のインストールを問い合わせることができます:

qmake -query "QT_INSTALL_PREFIX"

プロジェクト・ファイル内のプロパティの値は、次のようにして問い合わせることができます:

QMAKE_VERS = $$[QMAKE_VERSION]

QMAKESPEC

qmake には、適切な Makefile を生成するために使用される多くのデフォルト値を含む、プラットフォームとコンパイラの記述ファイルが必要です。標準の Qt ディストリビューションには、Qt インストールのmkspecs サブディレクトリにこれらのファイルが多数含まれています。

QMAKESPEC 環境変数には、以下のいずれかを指定できます:

  • qmake.conf ファイルを含むディレクトリへの完全なパス。この場合、qmake はそのディレクトリ内からqmake.conf ファイルを開きます。ファイルが存在しない場合、qmake はエラーで終了します。
  • プラットフォームとコンパイラの組み合わせの名前。この場合、qmake は Qt のコンパイル時に指定されたデータパスのmkspecs サブディレクトリで指定されたディレクトリを検索します (QLibraryInfo::DataPath を参照してください)。

注意: QMAKESPEC のパスは、生成される Makefile にINCLUDEPATHシステム変数の内容の後に自動的に追加されます。

キャッシュファイル

キャッシュファイルは、qmake.conf ファイル、プロジェクトファイル、またはコマンドラインで指定されていない設定を見つけるために qmake が読み込む特別なファイルです。qmake が実行されると、-nocache を指定しない限り、カレントディレクトリの親ディレクトリにある.qmake.cache というファイルを探します。qmake がこのファイルを見つけられなかった場合、qmake はこの処理のステップを黙って無視します。

qmake が.qmake.cache ファイルを見つけた場合、プロジェクトファイルを処理する前に、まずこのファイルを処理します。

ファイルの拡張子

通常、qmake はあなたのプラットフォームに適したファイル拡張子を使用しようとします。しかし、各プラットフォームのデフォルトの選択肢を上書きし、qmake が使用するファイル拡張子を明示的に定義する必要がある場合があります。これは、特定の組み込み変数を再定義することで実現できます。例えば、mocファイルに使用される拡張子は、プロジェクトファイル内の以下の代入で再定義できます:

QMAKE_EXT_MOC = .mymoc

以下の変数を使用して、qmake が認識する一般的なファイル拡張子を再定義できます:

  • QMAKE_EXT_MOCは、インクルードされた moc ファイルの拡張子を変更します。
  • QMAKE_EXT_UIQt Widgets Designer UI ファイル(通常はFORMS)に使用される拡張子を変更します。
  • QMAKE_EXT_PRL ライブラリ依存ファイルに適用される拡張子を変更します。
  • QMAKE_EXT_LEXLexファイルで使用されるサフィックスを変更します(通常はLEXSOURCESにあります)。
  • QMAKE_EXT_YACCは Yacc ファイルで使用される接尾辞を変更します (通常はYACCSOURCES にあります)。
  • QMAKE_EXT_OBJは生成されたオブジェクトファイルで使用される接尾辞を変更します。

上記の変数はすべて最初の値だけを受け付けるので、プロジェクト・ファイル全体で使用される値を1つだけ代入する必要があります。値のリストを受け付ける変数が2つあります:

  • QMAKE_EXT_CPPは、これらの接尾辞を持つすべてのファイルを C++ ソースファイルとして qmake に解釈させます。
  • QMAKE_EXT_Hは、これらの接尾辞を持つすべてのファイルを C および C++ ヘッダーファイルとして解釈します。

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