1 /****************************************************************************
3 ** Copyright (C) 2015 The Qt Company Ltd.
4 ** Contact: http://www.qt.io/licensing/
6 ** This file is part of the documentation of the Qt Toolkit.
8 ** $QT_BEGIN_LICENSE:FDL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see http://www.qt.io/terms-conditions. For further
15 ** information use the contact form at http://www.qt.io/contact-us.
17 ** GNU Free Documentation License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Free
19 ** Documentation License version 1.3 as published by the Free Software
20 ** Foundation and appearing in the file included in the packaging of
21 ** this file. Please review the following information to ensure
22 ** the GNU Free Documentation License version 1.3 requirements
23 ** will be met: http://www.gnu.org/copyleft/fdl.html.
26 ****************************************************************************/
29 \page qmake-tutorial.html
32 このチュートリアルでは \c qmake の使い方を説明します。
33 このチュートリアルを読み終わったら \c qmake
38 アプリケーションの基本的な実装は既に完了していて、
47 これらのファイルは Qt ディストリビューションの
48 \c{examples/qmake/tutorial} ディレクトリにあります。
49 アプリケーションの設定について知っておくべきことは、
50 それが Qt で書かれているということだけです。
51 まず、テキストエディタで \c{examples/qmake/tutorial} に
52 \c hello.pro というファイルを作成します。
53 最初にすることは、開発プロジェクトに含まれるソースファイルとヘッダファイルを
54 \c qmake に教える行を追加することです。
56 ソースファイルをプロジェクトファイルに追加します。
57 これには \l{qmake Variable Reference#SOURCES}{SOURCES} 変数を使います。
58 新しい行を作り、\c{SOURCES +=}、続いて hello.cpp を入力します。
61 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 108
63 これを以下のようになるまでプロジェクトの各ソースファイルに対して行います:
65 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 109
67 make に似たシンタックスを使いたい場合は、
68 以下のように改行をエスケープしてすべてのファイルを 1 行に書きます:
70 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 110
72 ソースファイルの一覧をプロジェクトファイルに追加しました。
74 ヘッダファイルはソースファイルと全く同じ方法で追加することができます。
75 ただし変数は \l{qmake Variable Reference#HEADERS}{HEADERS}
78 これを終えると、プロジェクトファイルは以下のようになるでしょう:
80 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 111
84 ただしプラットフォームに合わせたサフィックスがつけられます。
85 例えば、プロジェクトファイルが \c hello.pro である場合、
86 ターゲットは Windows では \c hello.exe 、Unix では \c hello になります。
87 プロジェクトファイルで別の名前を指定することもできます:
89 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 112
91 最後に \l{qmake Variable Reference#CONFIG}{CONFIG} 変数を設定します。
92 このアプリケーションは Qt アプリケーションなので \c CONFIG に
94 \c qmake は リンクの必要があるライブラリを追加し、
95 \c moc と \c uic の実行コマンドが Makefile に含まれるようにします。
97 最終的なプロジェクトファイルは以下のようになります:
99 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 113
101 \c qmake を使って、このアプリケーションのための Makefile を生成します。
102 プロジェクトのディレクトリでコマンドラインに次のように入力します:
104 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 114
106 そして、使用するコンパイラによって \c make または \c nmake を入力します。
108 Visual Studio ユーザの場合、\c qmake は、以下のように
109 \c .dsp ファイルまたは \c .vcproj ファイルも作成できます:
111 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 115
113 \section1 アプリケーションをデバッグできるようにする
115 アプリケーションのリリースバージョンはデバッグシンボルなどのデバッグ情報を含みません。
116 開発中は、関連情報を含むアプリケーションのデバッグバージョンを作成するのが便利です。
117 これは、プロジェクトファイルの \c CONFIG 変数に \c debug
122 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 116
124 直前の例と同様に、Makefile を生成するには \c qmake を使います。
125 アプリケーションをデバッグ環境で実行する際に役に立つ情報を得られるようになります。
127 \section1 プラットフォーム固有のソースファイルを追加する
130 アプリケーションにプラットフォーム固有な部分が出てきて
131 プラットフォーム固有のコードを別のファイルに分けたい場合があるかもしれません。
132 ここでは 2 つのファイル \c hellowin.cpp と \c hellounix.cpp があるとして、
134 これらのファイルをそのまま \c SOURCES 変数に追加することはできません。
135 なぜなら、両方のファイルが Makefile に追加されてしまうからです。
136 \c qmake が実行されたプラットフォームにしたがって処理されるスコープを使う必要があります。
138 Windows 用のファイルを追加するシンプルなスコープは以下のようになります:
140 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 117
142 \c qmake が Windows 上で実行されると、ソースファイルのリストに
143 \c hellowin.cpp が追加されます。
144 \c qmake が他のプラットフォームで実行された場合、この部分は無視されます。
145 次に Unix 用ファイルのスコープを作成します。
147 これを終えると、プロジェクトファイルは以下のようになります:
149 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 118
151 これまでと同様に、Makefile を生成するには \c qmake を使います。
153 \section1 ファイルが存在しない場合に qmake を中止する
155 特定のファイルが存在しない場合に Makefile を作成したくない場合、
156 exists() 関数を使ってファイルが存在するかどうかを確認することができます。
157 また error() 関数を使って \c qmake の処理を中止させることができます。
159 使い方はスコープの条件をこれらの関数で置き換えるだけです。
160 \c main.cpp ファイルの確認は以下のようになります :
162 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 119
165 つまり \c{exists( main.cpp )} はファイルが存在する場合に真になり、
166 \c{!exists( main.cpp )} はファイルが存在しない場合に真になります。
168 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 120
170 前と同様に、\c qmake を実行して Makefile を生成します。
171 仮に \c main.cpp の名前を変更すると、上記のメッセージが表示され、
174 \section1 複数の条件をチェックする
177 コマンドラインからこのアプリケーションを実行したときに
178 qDebug() の出力を見ることができるようにしたい場合、
179 アプリケーションをコンソールの設定を追加してビルドする必要があります。
180 Windows で Makefile をこの設定にするには、
181 \c CONFIG に \c console を追加します。
182 Windows で実行されていて、\e{かつ} \c CONFIG にすでに \c debug
183 がある場合にのみ \c CONFIG を追加したい場合があるかもしれません。
184 このような場合、2 つのスコープをネストさせて使います。
185 まず 1 つのスコープを作成し、その中にもう 1 つスコープを作成します。
186 そして 2 つのスコープの中に設定を書きます。例えば:
188 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 121
190 ネストされたスコープはコロンを使ってつなぐことができます。
191 最終的なプロジェクトファイルは以下のようになります:
193 \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 122
195 以上です。\c qmake のチュートリアルが終了しました。
196 それでは、あなたの開発プロジェクトのプロジェクトファイルを作成してみましょう。