// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= C/C++プロジェクトのクイック・スタート・チュートリアル
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: C/C++プロジェクトのクイック・スタート・チュートリアル - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, C/C++プロジェクトのクイック・スタート・チュートリアル

執筆: _Ann Rice_、管理: _Susan Morgan_
_2014年3月_ [リビジョン番号: V8.0-1]

このチュートリアルでは、NetBeans IDEのC/C++プロジェクトを作成および構成する基本的な手順を学ぶことができます。


image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2以降に適用されます"]



== 要件

*このチュートリアルに従うには、次のソフトウェアとリソースが必要です。*

|===
|ソフトウェアまたはリソース |必須バージョン 

|NetBeans IDE |link:https://netbeans.org/downloads/index.html[+バージョン7.2以降とNetBeans C/C++プラグイン+] 

|Java Developer Kit (JDK) |link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+バージョン6、7または8+] 

|C/C++コンパイラ、 ``make`` 、 ``gdb``  |link:../../../community/releases/80/cpp-setup-instructions.html[+C/C++/Fortran向けのNetBeans IDEの構成+] 
|===


必要なソフトウェアのダウンロードとインストールについては、link:../../../community/releases/80/install.html[+NetBeans IDEのインストール手順+]およびlink:../../../community/releases/80/cpp-setup-instructions.html[+C/C++/Fortran向けのNetBeans IDEの構成+]を参照してください。

*サンプル・プロジェクト*

IDEに備わるサンプル・プロジェクトを再生するだけの場合は、「ファイル」>「新規プロジェクト」を選択し、「サンプル」カテゴリ、「C/C++」サブカテゴリの順に開きます。IDEには、知識を深めるのに役立つC/C++サンプル・プロジェクトがいくつか用意されています。


== C/C++プロジェクトの作成

NetBeans C/C++サポートでは、既存のソースを使用してC/C++プロジェクトを作成できるのみでなく、生成されたMakefileを使用してC/C++アプリケーションやライブラリ・プロジェクトを作成できます。

ローカル・ホスト(IDEを起動したシステム)またはUNIX®オペレーティング・システムを実行しているリモート・ホストで、プロジェクトをビルド、実行およびデバッグできます。プロジェクトのツール・コレクションの指定と、リモート・ホストの定義および使用については、link:development-environment.html[+C/C++プロジェクトの開発環境の定義+]を参照してください。

C/C++のアプリケーション、動的ライブラリまたは静的ライブラリ・プロジェクトを使用すると、アプリケーションのビルド、実行およびデバッグすべてがIDEによって制御されます。プロジェクトの設定は、プロジェクトの作成時に「プロジェクト・プロパティ」ダイアログ・ボックスで指定します。IDEは、プロジェクトの設定をすべて格納するMakefileを生成します。


=== C/C++アプリケーション・プロジェクトの作成

1. 「ファイル」>「新規プロジェクト」を選択して、新規プロジェクト・ウィザードを開きます。
2. ウィザードで「C/C++」カテゴリを選択します。
3. このウィザードでは、新規プロジェクトのタイプをいくつかの中から選択できます。「C/C++アプリケーション」を選択して「次」をクリックします。 
image::images/creating_application.png[]
4. ウィザードのデフォルトの値を使用して、新しいC/C++アプリケーション・プロジェクトを作成します。プロジェクトの名前と場所を選択できます。
5. 「終了」をクリックしてウィザードを終了します。

論理フォルダを持つプロジェクトが作成されます。論理フォルダはディレクトリではありません。ユーザーがファイルを編成する1つの手段であり、ファイルが物理的に格納されているディスク上の場所を反映しているわけではありません。論理フォルダに追加されたファイルは、自動的にプロジェクトの構成要素となり、プロジェクトのビルド時にコンパイルされます。

「重要なファイル」フォルダに追加されたファイルはプロジェクトの構成要素ではなく、プロジェクトのビルド時にコンパイルされません。それらのファイルは単なる参照用で、既存のMakefileを使用するプロジェクトには便利です。


=== プロジェクトの論理ビューと物理ビューの切替え

プロジェクトには論理ビューと物理ビューの両方があります。プロジェクトの論理ビューと物理ビュー間で切り替えることができます。

1. 「ファイル」タブを選択します。次のウィンドウはプロジェクトの物理ビューを示しています。このビューには、ディスクに格納されているとおりにファイルおよびフォルダが表示されます。 
image::images/files_tab.png[]
2. 「プロジェクト」タブを選択します。次のウィンドウはプロジェクトの論理ビューを示しています。 
image::images/projects_tab.png[]

プロジェクトで実行するコマンドのほとんどは、「ファイル」タブではなく「プロジェクト」タブで使用できます。


=== プロジェクトへのファイルとフォルダの追加

プロジェクトに論理フォルダを追加できます。

1. アプリケーション・プロジェクトのプロジェクト・ノードを右クリックして、「新規論理フォルダ」を選択します。プロジェクトに新しい論理フォルダが追加されます。
2. 新しい論理フォルダを右クリックして、「名前変更」を選択します。新しいフォルダの名前を入力します。

既存のフォルダにファイルとフォルダの両方を追加できます。論理フォルダは入れ子にできます。


=== プロジェクトへの新規ファイルの追加

プロジェクトに新しいファイルを追加できます。

1. 「ソース・ファイル」フォルダを右クリックし、「新規」>「C++ソース・ファイル」を選択します。
2. 「新規ファイル」ダイアログ・ボックスの名前と場所ページで、「ファイル名」フィールドに「 ``newfile`` 」と入力します。

image::images/adding_files.png[]

3. 「終了」をクリックします。

ディスク上の、ウィザードで指定したディレクトリに ``newfile.cpp`` ファイルが作成されて、「ソース・ファイル」フォルダに追加されます。このフォルダには、ソース・ファイルのみでなく任意の種類のファイルを追加できます。


=== プロジェクトへのその他の新規ファイルの追加

1. 「ヘッダー・ファイル」フォルダを右クリックし、「新規」>「C++ヘッダー・ファイル」を選択します。
2. 「新規ファイル」ダイアログ・ボックスの名前と場所ページで、「ファイル名」フィールドに「 ``newfile`` 」と入力します。
3. 「終了」をクリックします。

ディスク上の、ウィザードで指定したディレクトリに ``newfile.h`` ファイルが作成されて、「ヘッダー・ファイル」フォルダに追加されます。


=== プロジェクトへの既存のファイルの追加

2種類の方法でプロジェクトに既存のファイルを追加できます。

* 「ソース・ファイル」フォルダを右クリックして、「既存の項目の追加」を選択します。「項目を選択」ダイアログ・ボックスを使用してディスク上の既存のファイルを選択して、プロジェクトにファイルを追加できます。
* 「ソース・ファイル」フォルダを右クリックして、「フォルダから既存の項目を追加」を選択します。「ファイルの追加」ダイアログ・ボックスを使用して既存のファイルを含むフォルダを追加します。

既存の項目の追加では、「新規」メニュー項目を使用しないでください。ファイルがすでに存在するかは、「名前と場所」パネルでわかります。


=== プロジェクト・プロパティの設定

プロジェクトを作成すると、「デバッグ」と「リリース」という2つの構成が作成されます。構成はプロジェクトに使用される設定のコレクションであり、構成を選択することで、多数の設定を一度で簡単に切り替えることができます。「デバッグ」構成は、デバッグ情報を含む、アプリケーションのバージョンをビルドします。「リリース」構成は、同じアプリケーションの最適化されたバージョンをビルドします。

「プロジェクト・プロパティ」ダイアログ・ボックスには、プロジェクトのビルドおよび構成情報が含まれています。「プロジェクト・プロパティ」ダイアログ・ボックスを開くには:

* 「 ``CppApplication_1`` 」プロジェクトのプロジェクト・ノードを右クリックし、「プロパティ」を選択します。 
image::images/project_properties.png[]

「プロジェクト・プロパティ」ダイアログ・ボックスの左側パネルでノードを選択し、右側のパネルでプロパティを変更することによって、ビルド・ツールのデフォルト、コンパイラ設定、その他の構成設定などを変更できます。ノードやプロパティ値を選択すると、設定可能なプロパティがわかります。「一般」プロパティを設定すると、その設定はプロジェクトのすべての構成に対して行われます。「ビルド」、「実行」または「デバッグ」プロパティを設定すると、その設定は現在選択されている構成に対して行われます。


=== 構成の管理

「プロジェクト・プロパティ」ウィンドウで変更されたプロパティは、現在の構成としてMakefileに保存されます。デフォルトの構成を編集したり、新しい構成を作成したりできます。新しい構成を作成するには:

1. 「プロジェクト・プロパティ」ダイアログ・ボックスで「構成を管理」ボタンをクリックします。
2. 「構成」ダイアログ・ボックスで、適切な構成に最も近い構成を選択します。この場合は「リリース」構成を選択して、「複製」ボタンをクリックします。その後「名前変更」をクリックします。
3. 「名前変更」ダイアログ・ボックスで構成名を「PerformanceRelease」に変更します。「OK」をクリックします。
4. 「構成」ダイアログ・ボックスで「OK」をクリックします。
5. 左側パネルで「Cコンパイラ」ノードを選択します。
6. 「プロジェクト・プロパティ」ダイアログ・ボックスの「構成」ドロップダウン・リストで「PerformanceRelease」構成が選択状態になっていることを確認します。
7. 右側パネルのプロパティ・シートで「開発モード」を「リリース」から「PerformanceRelease」に変更します。「OK」をクリックします。

これで、異なるオプションの組合せでアプリケーションをコンパイルする、新しい構成が作成されました。


=== ソース・ファイル・プロパティの設定

C/C++プロジェクトのプロジェクト・プロパティを設定すると、関連するプロパティがプロジェクト内のすべてのファイルに適用されます。個々のファイルにプロパティを設定することもできます。

1. 「プロジェクト」タブで ``newfile.cpp`` ソース・ファイルを右クリックし、「プロパティ」を選択します。
2. 「一般」カテゴリをクリックすると、このファイルをビルドするために、様々なコンパイラや他のツールを指定できることが確認できます。また、チェックボックスを使用して、現在選択されているプロジェクト構成で、ファイルをビルド対象から除外することもできます。
3. 「C++コンパイラ」カテゴリをクリックすると、このファイルのプロジェクト・コンパイラ設定やその他のプロパティをオーバーライドできることが確認できます。
4. 「ファイル・プロパティ」ダイアログ・ボックスで「取消し」をクリックします。


=== プロジェクトのビルドと再ビルド

プロジェクトをビルドするには:

1. プロジェクトのノードを右クリックし、「ビルド」を選択すると、プロジェクトがビルドされます。「出力」ウィンドウにビルド出力が表示されます。
2. メイン・ツールバーにある「構成」ドロップダウン・リストで、構成を「デバッグ」から「PerformanceRelease」に変更します。これで、プロジェクトは「PerformanceRelease」構成を使用してビルドされます。
3. プロジェクトのノードを右クリックし、「ビルド」を選択すると、プロジェクトがビルドされます。「出力」ウィンドウにビルド出力が表示されます。

プロジェクトを再ビルドするには:

* プロジェクト・ノードを右クリックし、「消去してビルド」を選択して、以前のビルド・プロジェクトの削除後に完全ビルドを行います。
* プロジェクト・ノードを右クリックし、「ビルド」を選択して増分ビルドを行います。以前のビルド・プロジェクトは、ソース・ファイルが変更されていなければ保持されます。

「実行」メニューからアクションを選択、またはツールバー・ボタンを使用して、プロジェクトをビルド、消去または消去してビルドすることができます。プロジェクトは異なる構成のオブジェクト・ファイルおよび実行可能ファイルをそれぞれ独立して保持しているため、複数の構成のファイルが混ざる心配をする必要はありません。


=== ファイルの個別コンパイル

ソース・ファイルを個別にコンパイルするには:

*  ``main.cpp`` ファイルを右クリックし、「ファイルをコンパイル」を選択します。このファイルのみコンパイルされます。

プロジェクト・タイプが「既存のソースを使用するC/C++プロジェクト・ファイル」の場合、単一ファイルのコンパイルはサポートされません。


== プロジェクトの実行

プロジェクトの実行方法を確認するために、IDEのサンプル・プロジェクト ``Arguments`` を使用します。 ``Arguments`` プログラムは、コマンド行引数を出力します。このプログラムを実行する前に、現在の構成の引数をいくつか設定します。その後プログラムを実行します。

 ``Arguments`` プロジェクトを作成するには、次のようにいくつかの引数を設定し、プロジェクトを実行します。

1. 「ファイル」>「新規プロジェクト」を選択します。
2. プロジェクトのウィザードで「サンプル」カテゴリを展開します。
3. 「C/C++」サブカテゴリを選択して、「 ``Arguments`` 」プロジェクトを選択します。「次」をクリックして、「終了」をクリックします。
4. 「 ``Arguments_1`` 」プロジェクト・ノードを右クリックし、「ビルド」を選択します。プロジェクトがビルドされます。
5. 「 ``Arguments_1`` 」プロジェクト・ノードを右クリックし、「プロパティ」を選択します。
6. 「プロジェクト・プロパティ」ダイアログ・ボックスで「実行」ノードを選択します。
7. 「コマンドの実行」テキスト・フィールドに「1111 2222 3333」を入力します。「OK」をクリックします。 
image::images/setting_arguments.png[]
8. プロジェクトのノードを右クリックし、「実行」を選択します。アプリケーションが実行されます。「出力」ウィンドウに引数が表示されます。


== 既存のソースを使用したC/C++プロジェクトの作成

「既存のソースを使用するC/C++プロジェクト」を使用して作成する場合、IDEは、アプリケーションのコンパイルおよび実行手順について、既存のMakefileに依存します。

この課題では、オープン・ソースのLoki C++ライブラリのソースをダウンロードしてインストールします。Lokiでは、Pthreadsライブラリがビルドに必要ですが、Linux、SolarisおよびMac OS Xではデフォルトで使用できます。Windowsを使用している場合、Lokiソース・ファイルを使用してプロジェクトを作成するには、事前にPthreadsライブラリをダウンロードしておく必要があります。


=== 既存のソースを使用したプロジェクトの作成

1. WindowsでIDEを実行している場合は、link:http://sourceware.org/pthreads-win32[+ ``http://sourceware.org/pthreads-win32`` +]からPthreadsライブラリをインストールします。

便利な方法として、pthreads-2005-03-08.exeインストーラに対するこのlink:ftp://sourceware.org/pub/pthreads-win32/pthreads-2005-03-08.exe[+直接リンク+]を使用してダウンロードできます。

Windowsユーザー・ディレクトリにPthreadsライブラリを抽出します。

2. link:http://sourceforge.net/projects/loki-lib[+ ``http://sourceforge.net/projects/loki-lib`` +]から ``loki-0.1.7`` ライブラリをダウンロードします。
3. 適当なディレクトリに ``loki-0.1.7`` を展開します。
4. 「ファイル」>「新規プロジェクト」を選択して、新規プロジェクト・ウィザードを開きます。
5. 「C/C++」カテゴリを選択します。
6. 「既存のソースを使用するC/C++プロジェクト」を選択して「次」をクリックします。
7. モードを選択ページで「参照」ボタンをクリックします。「プロジェクト・フォルダを選択」ダイアログ・ボックスで ``loki-0.1.7`` の保存先ディレクトリに移動します。 ``loki-0.1.7`` ディレクトリを選択します。「選択」をクリックします。

image::images/existing_sources_project1.png[]

8. デフォルトの構成モードの「自動」を使用します。「終了」をクリックします。

プロジェクトが作成されて「プロジェクト」タブで開かれ、既存のMakefileで指定した「消去してビルド」アクションがIDEで自動的に実行されます。このプロジェクトは、コード支援用にも自動的に構成されます。

image::images/existing_sources_project2.png[]


=== バイナリ・ファイルからのC/C++プロジェクトの作成

既存のバイナリ・ファイルからのC/C++プロジェクトを作成できます。

1. 「ファイル」>「新規プロジェクト」を選択します。
2. 「C/C++」カテゴリを選択します。
3. 「バイナリ・ファイル」から「C/C++プロジェクト」を選択して「次」をクリックします。
4. 
新規プロジェクト・ウィザードの「バイナリ・ファイルを選択」ページで「参照」ボタンをクリックします。「バイナリ・ファイルを選択」ダイアログ・ボックスで、プロジェクトの作成元となるバイナリ・ファイルに移動します。

バイナリがビルドされたソース・ファイルのルート・ディレクトリは自動的に入力されます。デフォルトでは、プロジェクトに含まれるのは、バイナリがビルドされたソース・ファイルのみです。デフォルトでは、プロジェクトに依存性が含まれます。プロジェクトで必要な共有ライブラリは自動的に一覧表示されます。

image::images/binary_project.png[]
5. 「次」をクリックします。
6. 「プロジェクトの名前と場所」ページで、プロジェクトの名前と場所を選択できます。「終了」をクリックします。


=== プロジェクトのビルドと再ビルド

プロジェクトをビルドするには:

* プロジェクトのプロジェクト・ノードを右クリックし、「ビルド」を選択します。

プロジェクトを再ビルドするには:

* プロジェクトのプロジェクト・ノードを右クリックし、「消去してビルド」を選択します。


== [[次の手順]] 

ソース・コードを表示したり、変更したりするための、NetBeans IDEの高度なナビゲーションおよび編集機能の使用についてのチュートリアルは、link:navigating-editing.html[+C/C++ソース・ファイルの編集とナビゲートのチュートリアル+]を参照してください。

NetBeans IDEでのC/C++/Fortranを使用した開発に関する詳細な記事は、link:https://netbeans.org/kb/trails/cnd.html[+C/C++の学習+]を参照してください。

link:mailto:users@cnd.netbeans.org?subject=Feedback:%20C/C++%20Projects%20Quick%20Start%20-%20NetBeans%20IDE%207.4%20Tutorial[+このチュートリアルに関するご意見をお寄せください+]
