「Qtの設定 - qmake」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「== 概要 == <br><br> == コンパイラの設定 == GCCやG++コンパイラ等を標準以外に変更する場合、プロジェクトファイル(.pro拡張子)に…」) |
|||
44行目: | 44行目: | ||
<br> | <br> | ||
==== インクルード ===== | ==== インクルード ==== | ||
* INCLUDEPATH | |||
*: プロジェクトのコンパイル時に検索するインクルードディレクトリを指定する。 | |||
*: 例 : | |||
*: <code>INCLUDEPATH += /home/user/include</code> | |||
*: <br> | |||
*: スペースを含むパスを指定するには、以下のように記述する。 | |||
*: UNIX系OSの場合 INCLUDEPATH += "/home/user/extra headers" | |||
*: Windowsの場合 INCLUDEPATH += "C:/myincludes/extra headers" | |||
<br> | |||
* QMAKE_INCDIR | * QMAKE_INCDIR | ||
*: INCLUDEPATHに追加されるシステムヘッダのパスのリストを指定する。 | *: INCLUDEPATHに追加されるシステムヘッダのパスのリストを指定する。 | ||
*: この変数の値は、qmakeまたはqmake.confによって処理され、変更する必要はほとんど無い。 | *: この変数の値は、qmakeまたはqmake.confによって処理され、変更する必要はほとんど無い。 | ||
<br> | <br> | ||
==== ライブラリ ==== | ==== ライブラリ ==== | ||
* LIBS | * LIBS |
2020年10月14日 (水) 01:25時点における版
概要
コンパイラの設定
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を使用する。