Eclipse 4.3 (Kepler) for C/C++ Programming
On 11月 9, 2021 by adminEclipse はIBMがサポートしているオープンソースの統合開発環境(IDE)です。 マザーサイトは @ www.eclipse.org です。 Eclipseは、Javaプロジェクト開発で人気があります。 また、拡張可能なプラグインによって、C/C++、PHP、Python、Perl、およびその他のWebプロジェクト開発もサポートしています。 Eclipse はクロスプラットフォームで、Windows、Linux、および Mac OS で動作します。
How to Install Eclipse C/C++ Development Tool (CDT) 8.1.2 for Eclipse 4.2.2 (Juno)
ステップ 0: MinGW GCC または Cygwin GCC のインストール
C/C++ プログラミングに Eclipse を使用するには C/C++ コンパイラーが必要です。 Windows では、MinGW GCC または Cygwin GCC のいずれかをインストールすることができます。 MinGW の方が軽量でインストールが簡単ですが、機能が少ないので、よくわからない場合は MinGW を選択してください。 MinGW のインストール方法” を読んでください。
Devel
” の下にある “gcc
“, “g++
“, “gdb
“, “make
” パッケージが選択されていることを確認すること。 (開発)カテゴリ – これらのパッケージはデフォルトのインストールの一部ではありません。Step 1: Eclipse C/C++ Development Tool (CDT) をインストールする
CDT をインストールする方法は、以前に Eclipse をインストールしたかどうかにより 2 通りあります。
- すでに「Eclipse for Java Developers」またはその他の Eclipse パッケージをインストールしている場合、次のように CDT プラグインをインストールできます:
Launch Eclipse ⇒ Help ⇒ Install New Software ⇒ “Work with” フィールドで、ドロップダウン・メニューを引き出して “Kepler – http://download.eclipse.org/releases/kepler” を選択してください。 (Eclipse 4.2 では juno、Eclipse 3.7 では helios).
“Name” ボックスで “Programming Language” ノードを展開 ⇒ “C/C++ Development Tools” にチェック ⇒ “Next” ⇒ …と進みます。 - Eclipse パッケージをインストールしていない場合は、http://www.eclipse.org/downloadsから “Eclipse IDE for C/C++ Developers” をダウンロードし、任意のディレクトリに解凍します。
ステップ2:設定
環境変数 PATH
に Cygwin または MinGW バイナリが入っていれば、設定は一切必要ありません。 CDT は PATH
を検索して C/C++ コンパイラーを見つけます。
Writing your First C/C++ Program in Eclipse
C++ Program
Step 0: Launch Eclipse
- Eclipse インストール先で “
eclipse.exe
” を実行して Eclipse を開始します。 - 「ようこそ」画面が表示されたら、「閉じる」ボタンをクリックし、画面を閉じます。
ステップ1:新しいC++プロジェクトを作成する
C++アプリケーションごとに、すべてのソースコード、オブジェクトファイル、実行ファイル、および関連リソースを保存するためのプロジェクトを作成する必要があります。 ⇒ C/C++ ⇒ C++プロジェクト.
- 「プロジェクト名」フィールドに、「
FirstProject
」と入力します。 - 「プロジェクトの種類」ボックスで、「実行可能」 ⇒ 「空のプロジェクト」.
- 「ツールチェーン」ボックスで、例えば、お使いのコンプラを選択します。 “Cygwin GCC” or “MinGW GCC” ⇒Next.
Step2:Hello-world C++プログラムを作成する
- 「プロジェクト・エクスプローラ」(左端のパネル)で”
FirstProject
“を右クリック…。 (または「ファイル」メニュー) ⇒新規作成 ⇒ソースファイル. - 「新規ソースファイル」ダイアログがポップアップ表示されます。
- 「ソースファイル」の欄に「
Hello.cpp
」と入力します。 - 「完了」をクリックします。
- 「ソースファイル」の欄に「
- ソースファイル「
Hello.cpp
」が編集パネルに開きます(必要に応じて「test.cpp
」をダブルクリックして開きます)。 以下のコードを入力してください。#include <iostream>using namespace std; int main() { cout << "Hello, world!" << endl; return 0;}
「未解決インクルードエラー」の場合
#include
文の横に「未解決インクルード」というエラーが表示された場合、「ヘッダー用インクルードパス」が正しく設定されていない可能性があります。 プロジェクト」メニュー ⇒ 「プロパティ」 ⇒ 「C/C++全般」 ⇒ 「パスとシンボル」 ⇒ 「インクルード」タブで、
Cygwin GCCの場合:
- “GNU C” に以下のディレクトリを追加します(
$CYGWIN_HOME
はあなたのCygwinインストールディレクトリです)。$CYGWIN_HOME\lib\gcc\i686-pc-cygwin.5.x\include
$CYGWIN_HOME\lib\gcc\i686-pc-cygwin.5.x\include-fixed
$CYGWIN_HOME\usr\include
$CYGWIN_HOME\usr\include\w32api
- “Add” to “GNU C++”, Where the
$CYGWIN_HOME
is your Cygwin installed directory:$CYGWIN_HOME\lib\gcc\i686-pc-cygwin.5.x\include\c++
$CYGWIN_HOME\lib\gcc\i686-pc-cygwin.5.x\include\c++\i686-pc-cygwin
$CYGWIN_HOME\lib\gcc\i686-pc-cygwin.5.x\include\c++\backward
$CYGWIN_HOME\lib\gcc\i686-pc-cygwin.5.x\include
$CYGWIN_HOME\lib\gcc\i686-pc-cygwin.5.x\include-fixed
$CYGWIN_HOME\usr\include
$CYGWIN_HOME\usr\include\w32api
- “GNU C” に以下のディレクトリを “追加” してください。
$MINGW_HOME\lib\gcc\mingw32.6.x\include
$MINGW_HOME\include
$MINGW_HOME\lib\gcc\mingw32.6.x\include-fixed
- “Add” to “GNU C++”,
$MINGW_HOME
は Cygwin がインストールされたディレクトリです。$MINGW_HOME\lib\gcc\mingw32.6.x\include\c++
$MINGW_HOME\lib\gcc\mingw32.6.x\include\c++\mingw32
$MINGW_HOME\lib\gcc\mingw32.6.x\include\c++\backward
$MINGW_HOME\lib\gcc\mingw32.6.x\include
$MINGW_HOME\include
$MINGW_HOME\lib\gcc\mingw32.6.x\include-fixed
- プロジェクトのビルドに使用する Eclipse CDT のコマンドは「
<workspace>\.metadata\.plugins\org.eclipse.cdt.ui\global-build.log
」にあります。 - include-paths, library-paths, libraries を設定する。 プログラムをビルドするとき、コンパイラはソースコードをコンパイルするためにヘッダーファイルを必要とし、リンカーは外部参照を解決するためにライブラリを必要とします。 コンパイラは、
#include
命令で指定されたヘッダをinclude-pathsで検索する。 リンカはプログラムのリンクに必要な「ライブラリ」を「ライブラリパス」で検索する。 GCCでは、include-pathは-Idir
オプションか環境変数CPATH
で指定する。 library-pathは-Ldir
オプション、または環境変数LIBRARY_PATH
で指定する。 ライブラリlibxxx.a
は、-lxxx
オプション(小文字の'l'
、プレフィックスlib
と.a
拡張なし)で指定します。
Eclipse CDTでは、プロジェクト上で右クリック ⇒プロパティ ⇒ C/C++ General ⇒ Paths and Symbols ⇒「Include」、「Library Paths」、「Libraries」タブで、include pathsとlibrary pathsとlibrariesを設定することができます。 設定は、選択したプロジェクトにのみ適用されます。
すべてのプロジェクトのインクルードパスとライブラリパスを設定するには、環境変数CPATH
とLIBRARY_PATH
を設定します。 Eclipse で、”Window” ⇒ Preferences ⇒ C/C++ ⇒ Build ⇒ Environment.
あるいは、ヘッダーとライブラリをシステム・ディレクトリーにコピーし、include-paths と library-paths を省略できます。 - GLUT で OpenGL を使用。 Cygwin の場合、gcc, g++, gdb, make (Devel カテゴリ) と opengl, freeglut (graphics カテゴリ) をインストールする必要があります。 ヘッダ
gl.h
,glu.h
,glut.h
は$cygwin\usr\include\w32api\GL
に保存されています。 ヘッダをインクルードするには#include <GL/gl__.h>
を使ってください。 ライブラリlibopengl32.a
libglu32.a
とlibglut32.a
は$cygwin\lib\w32api
に収められている。 リンク時にこれらのライブラリを指定するには、-lopengl32
-lglu32
-lglut32
オプション (lib
接頭辞と.a
拡張子なし) を使用します。 - OpenGL with SDL: SDL を http://www.libsdl.org からダウンロードします。 Development Libraries ⇒ win32 ⇒ mingw32 ⇒ Unzip を選択。 headers ディレクトリ
SDL
(include
の下) を$cygwin\usr\include\w32api
に、lib
にあるすべてのライブラリファイルを$cygwin\lib\w32api
に、ランタイムライブラリSDL.dll
(bin
の下) をWindows/System32
にコピーしてください。 プログラムの中で、以下の2つのヘッダをインクルードする。#include <SDL/sdl.h>
と#include <SDL/sdl_opengl.h>
をプログラムに含める。 リンクのために、これらのライブラリを追加する。-lSDL
-lSDLmain
. - #pragma Comment 指令: pragma comment 指令、例えば
#pragma comment(lib, "opengl32.lib")
は、特定のライブラリをインクルードするためによく使われます (-l
オプションと同じです)。 このディレクティブは Windows のコンパイラでは動作しますが、 GCC では動作しません。 - Error “multiple target patterns”: GNU make に問題があるようです (
$Cygwin\bin\make.exe
にて)。 このコピー@ http://www.cmake.org/files/cygwin/make.exe に差し替えました。 gcc ライブラリは (C 仕様に準拠した) バッファード I/O を使用します。 出力は、改行文字の後にのみ、出力ストリームに書き出されます。fflush()
. - プロジェクト名に “setup “という単語を含んではいけないということで、出力をフラッシュすることができます。 C/C++ プロジェクトの名前に “
setup
” という単語を含む名前を付けると、結果的に “*setup*.exe
” は UAC (User Authorization Control) を発動し、実行には管理者権限が必要になります。 (これを理解するのに数時間かかりました! “hello.exe
” を “mysetup.exe
” にリネームしてみてください。)
MinGW GCCについて。
Note: ヘッダのパスを見つけるには “stdio.h
” 等ヘッダーでの検索で可能です。 (C言語の場合)および”iostream
“。 (C++の場合)
libmpfr4
“をインストールします。ステップ3:コンパイル/ビルド
“FirstProject
“の上で右クリックします。 (または、「プロジェクト」メニューを使用) ⇒ 「プロジェクトの構築」を選択して、プログラムをコンパイルしリンクします。
Step 4: Run
プログラムを実行するには、”FirstProject
“の上で右クリックしてください。 (またはソース “test.cpp
” 上の任意の場所、または “実行” メニューを選択) ⇒ Run As ⇒ Local C/C++ Application ⇒ (If ask, choose Cygwin’s gdb debugger) ⇒ The output “Hello, world!” appears on “Console” panel.
NOTE: あなたはプログラミング問題のEACHに対して新しいC++プロジェクトを作成しなければなりません。 これは、おもちゃのプログラムを書くために厄介です!
C Program
上記と同じ手順を実行します。 Cプロジェクト」を作成します(「C++プロジェクト」の代わりに)。 以下のHello-worldプログラム(”Hello.c
“と呼ばれる)を試してください。
#include <stdio.h> int main() { printf("Hello, world!\n"); return 0;}
C++ Program with Makefile
これまでの例では、Eclipseが自動的にプログラムをビルドするmakefileを生成する、いわゆるマネージドmakeを使用しています。
Step 1: C++ Makefile プロジェクトを作成する
[ファイル] メニューから [新規作成] ⇒ [プロジェクト…] を実行します。 ⇒ C/C++ ⇒ C++プロジェクト ⇒ “プロジェクト名 “に”HelloCppMakefile
“と入力します。 ⇒ プロジェクトの種類」で「Makefile プロジェクト」、「空のプロジェクト」を選択 ⇒ 「ツールチェーン」で「Cygwin GCC」または「MinGW GCC」を選択します。 警告メッセージは無視してください。
ステップ2:C++プログラムを書く
プロジェクト上で右クリック ⇒ 新規作成 ⇒ ソースファイル ⇒ 「ソースファイル」に”Hello.cpp
“を入力します。 ⇒ 次のソースコードを入力します:
#include <iostream>using namespace std; int main() {cout << "Hello, world!" << endl;return 0;}
Step 3: Makefileを書く
プロジェクトを右クリック ⇒新規作成 ⇒ファイル ⇒「ファイル名」に”makefile
“を入力します。 ⇒以下のコードを入力します。 インデントにはTab(NOT Spaces)を使うことに注意してください。
all: Hello.exe clean:rm Hello.o Hello.exe Hello.exe: Hello.og++ -g -o Hello.exe Hello.o Hello.o: Hello.cppg++ -c -g Hello.cpp
Step 4: Build the Project
プロジェクトを右クリック ⇒ Build Project.
Step 5: Run the Program
プロジェクトを右クリック ⇒ Run As ⇒ Local C/C++ Application.Step6:ビルド・プロジェクトを実行します。
1 つのプロジェクトでおもちゃのプログラムをコンパイルするために makefile を書く。
ドキュメントを読む
少なくとも、Eclipse の “Workbench User Guide” と “C/C++ Development User Guide” を参照すべきです。 これは、後でいくつかのことを行う方法を見つけようとする多くの苦痛な時間を節約します。
Debugging C/C++ Programs in Eclipse CDT
グラフィック デバッガーを使用してプログラムをデバッグできることは、プログラミングにおいて重要です。 1108>
Step 0: C++ プログラムを書く – 次のプログラムは、n
の階乗 (=1*2*3*...*n
) を計算し、表示するものです。
1234567891011121314 |
#include <iostream>using namespace std; int main() { int n = 20; int factorial = 1; // n! = 1*2*3...*n for (int i = 1; i <= n; i++) { factorial *= i; } cout << "The Factorial of " << n << " is " << factorial << endl; return 0;} |
The Factorial of 20 is -2102132736
グラフィックデバッガを使ってプログラムをデバッグしてみましょう。
ステップ 1: 最初のブレークポイントを設定する – ブレークポイントは、内部状態 (たとえば、, を調べるために、プログラムの実行を一時停止します。 デバッガを起動する前に、プログラム内部の実行を一時停止するためのブレークポイントを少なくとも1つ設定する必要があります。 main()
関数を含む行の左端をダブルクリックして、main()
にブレークポイントを設定します。 1108>
ステップ2:デバッガを起動する – プロジェクトを右クリック(または「実行」メニューを使用) ⇒「デバッグ名」 ⇒「ローカル C/C++ アプリケーション」 ⇒「はい」を選択して「デバッグ」視点に切り替える(視点とは、編集やデバッグなどの特定の開発作業に適したパネルの特定の配置のことです)。
次の図に示すように、ハイライトされた線(青い矢印で示されている)は次のステップで実行される文を示しています。
Step 3: ステップオーバーして変数と出力を見る – 「ステップオーバー」ボタンをクリックして(または「実行」メニューから「ステップオーバー」を選択して)、プログラムをシングルステップで実行してください。 各ステップで、変数の値(「変数」パネル)と、プログラムによって生成された出力(「コンソール」パネル)を調べてください(もしあれば)。
Single-stepping through the program and watch the values of internal variables and the outputs produced is the ultimate means in debugging programs – because it is exactly how the computer runs your program.
ステップ 4: Breakpoint, Run-To-Line, Resume and Terminate – 前述のように、ブレークポイントはプログラムの実行を一時停止してプログラムの内部状態を調査できるようにするもの。
「再開」はプログラムの実行を続け、次のブレークポイントまで、またはプログラムの終わりまで実行します。
あるいは、特定のステートメントにカーソルを置き、「実行」メニューから「Run-To-Line」を発行してその行まで実行を継続することができます。 プログラムの終了まで、常に「Terminate」または「Resume」で現在のデバッグセッションを終了してください。
ステップ 5: C/C++ パースペクティブに戻る – 右上隅にある「C/C++」パースペクティブ アイコンをクリックして、さらなるプログラミングのために「C/C++」パースペクティブに切り替えます (または「ウィンドウ」メニュー ⇒ 「パースペクティブを開く」 ⇒ 「C/C++」)。 デバッガが提供する機能を探求してください。
その他のデバッガの機能
変数の値を変更する。 変数」パネルに新しい値を入力することにより、変数の値を変更することができます。 これは、ソースコードを変更せずに、プログラムの動作を一時的に変更するのに便利です。
ステップ-イントとステップ-リターン。 関数をデバッグするには、「ステップ-イント」を使用して、メソッドの最初のステートメントに踏み込む必要があります。 メソッド内の任意の場所で呼び出し元に戻るには、”Step-Return “を使用することができます。 1108>
NOTE: デバッグ中に “Can’t find a source file at /cygdrive/c
…” というエラーメッセージが表示されたら、”/cygdrive/c
” と “c:/
” の間のマッピングを設定する必要があります (プログラムがドライブ c に保存されていると仮定しています。) Window” ⇒ “Preferences” ⇒ “C/C++”
Tips & Tricks
Eclipse for Java の Tips & Tricks で Eclipse を使用する際の一般的なヒントをお読みください。
GCC による C/C++ ソフトウェア開発
Eclipse におけるファイル I/O
Java のファイル IO.
は、Eclipse を参照してください。
コメントを残す