Qtの設定 - qmake
ナビゲーションに移動
検索に移動
概要
コンパイラの設定
GCCやG++コンパイラ等を標準以外に変更する場合、プロジェクトファイル(.pro拡張子)に以下の設定を追記する。
- QMAKE_CC
- C言語のソースコードを含むプロジェクトをビルドする時に使用されるC言語のコンパイラを指定する。
QMAKE_CC = /<GCCのインストールディレクトリ>/bin/gcc-10.2
- また、環境変数PATHにGCCやG++等のパスを設定している場合、以下のように、コンパイラのファイル名だけで指定することができる。
QMAKE_CC = gcc-10.2
QMAKE_CC
オプションは、CONFIG
オプションよりも上に記述する。
- QMAKE_CXX
- C++言語のソースコードを含むプロジェクトをビルドする時に使用されるC++言語のコンパイラを指定する。
QMAKE_CXX = /<GCCのインストールディレクトリ>/bin/g++-10.2
- また、環境変数PATHにGCCやG++等のパスを設定している場合、コンパイラのファイル名だけで指定することができる。
QMAKE_CXX = g++-10.2
QMAKE_CXX
オプションは、CONFIG
オプションよりも上に記述する。
- 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_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_LINK
- アプリケーションベースのプロジェクトを構築する時に使用するリンカを指定する。
- 環境変数PATHに含まれるパス上にある場合、リンカファイルのファイル名のみを指定することができる。
- この変数の値は、qmakeまたはqmake.confによって処理され、変更する必要はほとんど無い。
インクルードの設定
- INCLUDEPATH
- プロジェクトのコンパイル時に検索するインクルードディレクトリを指定する。
- 例 :
INCLUDEPATH += /home/user/include
- スペースを含むパスを指定するには、以下のように記述する。
- UNIX系OSの場合
INCLUDEPATH += "/home/user/extra headers"
- Windowsの場合
INCLUDEPATH += "C:/myincludes/extra headers"
- QMAKE_INCDIR
- INCLUDEPATHに追加されるシステムヘッダのパスのリストを指定する。
- この変数の値は、qmakeまたはqmake.confによって処理され、変更する必要はほとんど無い。
ライブラリの設定
- LIBS
- プロジェクトにリンクするライブラリのリストを指定する。
- UNIX系OSにおいて、
-l
(ライブラリ)フラグと-L
(ライブラリパス)フラグを使用する場合、 - qmakeはWindowsでライブラリを正しく処理する。(ライブラリのフルパスをリンカに渡す)
-l
で指定されているディレクトリを見つけるには、ライブラリが存在している必要があります。- 例 :
- UNIX系OSの場合
LIBS += -L/usr/local/lib -lmath
- Windowsの場合
LIBS += c:/mylibs/math.lib
- また、スペースを含むパスを指定するには、以下のように記述する。
- UNIX系OSの場合
LIBS += "-L/usr/local lib/lib" -lmath
- Windowsの場合
LIBS += "C:/mylibs lib/math.lib"
- 標準では、LIBSに格納されているライブラリのリストは、使用される前に一意の名前のリストに縮小される。
- この動作を変更するには、変数CONFIGに
no_lflags_merge
オプションを追加する。 CONFIG += no_lflags_merge
- LIBS_PRIVATE
- プロジェクトにプライベートリンクするライブラリのリストを指定する。
- この変数の動作はLIBSと同じであるが、UNIX用の共有ライブラリプロジェクトがリンクインターフェイスで、これらの依存関係を公開しない点が異なる。
- 例えば、あるプロジェクトがライブラリA(ライブラリAは、ライブラリBにプライベートに依存)に依存している場合、
- プロジェクトからもライブラリBを直接使用する場合、ライブラリBに明示的にリンクする必要があるということである。
- 言い換えると、プライベートにリンクされたライブラリは、ビルド時に推移的に公開されない。
- QMAKE_LIBDIR
- 全てのプロジェクトのライブラリ検索パスのリストを指定する。
- この変数の値は、qmakeまたはqmake.confによって処理され、変更する必要はほとんど無い。
- プロジェクトファイルで追加のライブラリ検索パスを指定するには、LIBSを使用する。
LIBS += -L/path/to/libraries
- QMAKE_LIBDIR_POST
- 全てのプロジェクトのシステムライブラリ検索パスのリストを指定する。
- この変数の値は、qmakeまたはqmake.confによって処理され、変更する必要はほとんど無い。
- QMAKE_LIBDIR_FLAGS
- この変数は、UNIX系OSでのみ使用される。
- 接頭辞
-L
が付いた全てのライブラリディレクトリの場所を指定する。 - この変数の値は、qmakeまたはqmake.confによって処理され、変更する必要はほとんど無い。
- QMAKE_LIBS
- 各プロジェクトがリンクする必要のある追加のライブラリを指定する。
- この変数の値は、qmakeまたはqmake.confによって処理され、変更する必要はほとんど無い。
- プロジェクトファイルでライブラリを指定するには、LIBSを使用する。
- QMAKE_LIBS_PRIVATE
- 各プロジェクトがリンクする必要のある追加のプライベートライブラリを指定する。
- この変数の値は、qmakeまたはqmake.confによって処理され、変更する必要はほとんど無い。
- プロジェクトファイルでプライベートライブラリを指定するには、LIBS_PRIVATEを使用する。
インストールの設定
- INSTALLS
- make installコマンドまたは同様のインストール手順が実行される場合、インストールされるリソースのリストを指定する。
- リスト内の各項目は、インストールされる場所に関する情報を提供する属性を指定する。
- この変数は、組み込みデバイスに展開される追加ファイルを指定するためにも使用される。
- 例えば、変数target.pathは、ビルドターゲットがインストールされる場所を示し、
- 変数INSTALLSは、インストールされる既存のリソースのリストにビルドターゲットを追加する。
target.path += $$[QT_INSTALL_PLUGINS]/imageformats
INSTALLS += target
- 下表に、変数INSTALLSにおけるいくつかの値を記載する。
値 | 説明 |
---|---|
no_check_exist | この値が設定されていない場合、qmakeはインストールするファイルが実際に存在するかどうかを確認する。 これらのファイルが存在しない場合、qmakeはインストールルールを作成しない。 qdocによって作成されたHTMLファイル等、ビルドプロセスの一部として生成されたファイルをインストールする必要がある場合は、 この値を使用する。 |
nostrip | この値が設定されている場合、UNIXのストリップ機能はオフになり、デバッグ情報はバイナリに残る。 |
executable | この値が設定されている場合、UNIX系OSでは、実行可能フラグが設定される。 |
no_build | make installコマンドを実行した時、まだプロジェクトのビルドが無い場合、プロジェクトをビルドされた後にインストールされる。 この動作を望まない場合は、この値を設定して、ビルドターゲットがインストールターゲットへの依存関係として追加されないようにする。 |
no_default_install | プロジェクトにトップレベルのプロジェクトターゲットが存在する場合、make installコマンドを実行すると、全てがインストールされる。 ただし、この値が設定されたインストールターゲットがある場合、標準ではインストールされない。 明示的に、 make install_<file> コマンドを実行する必要がある。
|
qDebug関数の出力を抑止する
標準の設定では、リリースビルドでもqDebug
関数の出力が有効になっている。
リリースビルドでqDebug
関数で出力しないように設定するには、プロジェクトファイル(.pro)に以下を追記する。
CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT
qInfo
関数の出力を抑止する場合、プロジェクトファイル(.pro)に以下を追記する。
CONFIG(release, debug|release):DEFINES += QT_NO_INFO_OUTPUT
qWarning
関数の出力を抑止する場合、プロジェクトファイル(.pro)に以下を追記する。
CONFIG(release, debug|release):DEFINES += QT_NO_WARNING_OUTPUT