13,005
回編集
(→CONFIG) |
|||
148行目: | 148行目: | ||
<br> | <br> | ||
==== QT ==== | |||
Qtプロジェクトで使用されるQtライブラリを指定する変数である。<br> | |||
Qtライブラリを指定することにより、そのヘッダファイルをインクルードできるようになり、バイナリにリンクされる。<br> | |||
<br> | |||
変数<code>CONFIG</code>に<code>qt</code>オプションを指定している場合、<code>qmake</code>コマンドのQtソフトウェアに対するサポートが有効になる。<br> | |||
これにより、Qtソフトウェアで使用されるQtライブラリを細かく調整することが可能になる。<br> | |||
<br> | |||
以下の例では、Qt XMLライブラリとQtネットワークライブラリを有効にしている。<br> | |||
QT += network xml | |||
<br> | |||
<u>※注意</u><br> | |||
<u>QtのGUIソフトウェアでは、変数<code>QT</code>は、デフォルトで<code>core</code>オプションと<code>gui</code>オプションを含む。</u><br> | |||
<br> | |||
Qtプロジェクトをコンソールソフトウェアとして構築する場合、<code>-=</code>演算子で除外する必要がある。<br> | |||
以下の例では、最小限のQtプロジェクトがビルドされる結果となります。 | |||
QT -= gui # Qt Coreライブラリのみを使用する場合 | |||
<br> | |||
下表に、変数<code>QT</code>に追加できるQtライブラリの一覧を示す。<br> | |||
<center> | |||
{| class="wikitable" | style="background-color:#fefefe;" | |||
|- | |||
! style="background-color:#66CCFF;width: 15%;" | オプション | |||
! style="background-color:#66CCFF;width: 20%;" | ライブラリ | |||
! style="background-color:#66CCFF;width: 65%;" | 説明 | |||
|- | |||
| style="text-align: center;" | core | |||
| style="text-align: center;" | Qt Core || 他のQtライブラリで使用される非グラフィカルなコアクラス。 | |||
|- | |||
| style="text-align: center;" | gui | |||
| style="text-align: center;" | Qt GUI || グラフィカルユーザインターフェイス(GUI)コンポーネントの基本クラス。<br>OpenGLを含む。 | |||
|- | |||
| style="text-align: center;" | widgets | |||
| style="text-align: center;" | Qt Widgets || Qt GUIをC++ウィジェットで拡張するためのクラス。 | |||
|- | |||
| style="text-align: center;" | dbus | |||
| style="text-align: center;" | Qt D-Bus || D-Busプロトコルでプロセス間通信を行うためのクラス。 | |||
|- | |||
| style="text-align: center;" | multimedia | |||
| style="text-align: center;" | Qt Multimedia || オーディオ、ビデオ、ラジオ、カメラ機能のためのクラス。 | |||
|- | |||
| style="text-align: center;" | multimediawidgets | |||
| style="text-align: center;" | Qt Multimedia Widgets || マルチメディア機能を実装するためのウィジェットベースのクラス。 | |||
|- | |||
| style="text-align: center;" | network | |||
| style="text-align: center;" | Qt Network || ネットワークプログラミングを簡単かつポータブルにするためのクラス。 | |||
|- | |||
| style="text-align: center;" | qml | |||
| style="text-align: center;" | Qt QML || QML言語とJavaScript言語のためのクラス。 | |||
|- | |||
| style="text-align: center;" | quick | |||
| style="text-align: center;" | Qt Quick || カスタムユーザインタフェースを持つ高度で動的なアプリケーションを構築するための宣言型フレームワーク。 | |||
|- | |||
| style="text-align: center;" | quickcontrols2 | |||
| style="text-align: center;" | Qt Quick Controls || デスクトップ、組み込み、モバイルデバイス用の高性能なユーザインターフェースを作成するための軽量なQML型を提供する。 | |||
|- | |||
| style="text-align: center;" | quickcontrols2 | |||
| style="text-align: center;" | Qt Quick Dialogs || Qt Quickソフトウェアからシステムダイアログを作成して、対話するためのアイテム。 | |||
|- | |||
| style="text-align: center;" | quickcontrols2 | |||
| style="text-align: center;" | Qt Quick Layouts || Qt Quick 2ベースのアイテムをユーザインターフェイスに配置するために使用するアイテム。 | |||
|- | |||
| style="text-align: center;" | QMLテストケースの場合<br>CONFIG += qmltestcase<br><br>C++のみのテストプロジェクトの場合<br>QT += qmltest | |||
| style="text-align: center;" | Qt Quick Test || QMLソフトウェアのためのユニットテストフレームワークであり、テストケースはJavaScriptの関数として記述される。<br><br><u>※注意</u><br><u>Qt Quick Testには、バイナリ互換性保証は適用されない。</u><br><u>しかし、ソースとの互換性は保たれる。<u> | |||
|- | |||
| style="text-align: center;" | concurrent | |||
| style="text-align: center;" | Qt Concurrent || 低レベルのスレッドプリミティブを使用せずにマルチスレッドプログラムを記述するためのクラス。 | |||
|- | |||
| style="text-align: center;" | sql | |||
| style="text-align: center;" | Qt SQL || SQLを使ったデータベース統合のためのクラス。 | |||
|- | |||
| style="text-align: center;" | svg | |||
| style="text-align: center;" | Qt SVG || SVGファイルを表示するためのクラス。<br>SVG 1.2 Tiny標準のサブセットをサポートする。<br><br>Qt Widgetを使用する場合は、SVGファイルをレンダリングするためのサポートを提供する。 | |||
|- | |||
| style="text-align: center;" | bluetooth | |||
| style="text-align: center;" | Qt Bluetooth || Bluetoothハードウェアへのアクセスを提供する。 | |||
|- | |||
| style="text-align: center;" | testlib | |||
| style="text-align: center;" | Qt Test || QtソフトウェアやQtライブラリをユニットテストするためのクラス。<br><br><u>※注意</u><br><u>Qt Testには、バイナリ互換性保証は適用されない。</u><br><u>しかし、ソースとの互換性は保たれる。<u> | |||
|} | |||
</center> | |||
<br> | |||
==== TEMPLATE ==== | ==== TEMPLATE ==== | ||
Qtプロジェクトファイルは、原則として、1ファイル1ターゲットである。<br> | Qtプロジェクトファイルは、原則として、1ファイル1ターゲットである。<br> |