Qtの設定 - qmake

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
2020年10月14日 (水) 01:25時点におけるWiki (トーク | 投稿記録)による版 (→‎インクルード =)
ナビゲーションに移動 検索に移動

概要



コンパイラの設定

GCCやG++コンパイラ等を標準以外に変更する場合、プロジェクトファイル(.pro拡張子)に以下の設定を追記する。

QMAKE_CC = /<GCCのインストールディレクトリ>/bin/gcc-10.2
QMAKE_CXX = /<GCCのインストールディレクトリ>/bin/g++-10.2


  • QMAKE_CC
    C言語のソースコードを含むプロジェクトをビルドする時に使用されるC言語のコンパイラを指定する。
    また、環境変数PATHにGCCやG++等のパスを設定している場合、コンパイラのファイル名だけで指定することができる。


  • QMAKE_CXX
    C++言語のソースコードを含むプロジェクトをビルドする時に使用されるC++言語のコンパイラを指定する。
    また、環境変数PATHにGCCやG++等のパスを設定している場合、コンパイラのファイル名だけで指定することができる。


  • 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によって処理され、変更する必要はほとんど無い。


インクルード

  • 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:LIBS += -L/usr/local/lib -lmath
    win32:LIBS += c:/mylibs/math.lib

    また、スペースを含むパスを指定するには、以下のように記述する。
    unix:LIBS += "-L/usr/local lib/lib" -lmath
    win32: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を使用する。