トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索   ヘルプ   最終更新のRSS

C/C++開発環境 の変更点

Top / C/C++開発環境

#access
#analog

#contents

*EclipseにC言語の開発環境を導入する [#p777ec19]

-参考
--[[Eclipse with CDT:http://www.lares.dti.ne.jp/~sakaki/eclipse/EclipseFirst.html]]
--[[MinGWを使う:http://www.geocities.jp/turtle_wide/tools/gccwin.htm]]
--[[makefileについて:http://www.robot.mach.mie-u.ac.jp/info/unix/6.html]]
--[[トリビアなmakefile入門:http://www.jsk.t.u-tokyo.ac.jp/~k-okada/makefile/]]

***コンパイラ [#b2e02ec5]
-[[MinGW - Minimalist GNU for Windows:http://sourceforge.net/projects/mingw/files/]] から、All Files > Automated MinGW Installer > MinGW 5.1.4 > MinGW-5.1.4.exe をダウンロード(2009/09/08現在)
--ファイル名が mingw-get-inst-20101030.exe に変更されていた(2010/12/24現在)
-インストール
--全部「OK」「Next」で良い、Cドライブ直下にインストールされる
--インストールファイルと同じフォルダにできたZIPも解凍して、MinGWインストールフォルダに上書きしておく。
---C++コンパイラg++やmakeコマンドはこれをしないと使えるようにならない。
-確認
--コマンドプロンプトで「C:\MinGW/bin/gcc」と入れて動けばOK
#ref(gcc_1.jpg)
-パスを通す
--コンパネの「システム」>「詳細」>「環境変数」で、以下のように設定
#ref(gcc_2.jpg)
--gccコマンドを直打ちで実行できるようになれば、OK
#ref(gcc_3.jpg)

***HelloWorldをやってみる [#c36a0950]
-ファイルを作る
--HelloWorld.c
#geshi(c){{
 #include <stdio.h>
 main(){
     printf("Hello World!\n");
 }
}}

---最後の行は改行しないと警告が出る。
-コンパイル
 > gcc HelloWorld.c
--a.exe ができる。
 > a.exe
 Hello World!
-出力ファイルの名前を指定してコンパイル
 > gcc -o output HelloWorld.c
 > output.exe
 Hello World!

***makeコマンドの確認 [#lfe9093a]
-MinGWでは、mingw32-make.exe が make の実行ファイル。
--[[なぜ make には mingw32-make.exe という名前が付けられているのですか?:http://www.sixnine.net/cygwin/translation/mingw-doc/mingwfaq.html#s1-19]]
-コマンドプロンプトで、
 > mingw32-make
--これでエラーが出たら、ming32-make.exe が入っていないので、[[ここ:http://sourceforge.jp/projects/mingw/releases/35381]] からダウンロードして、C:\MinGW フォルダに上書き保存する。
-makefileを作る
--makefile
 HelloWorld: HelloWorld.c
 	gcc -o HelloWorld HelloWorld.c
--実行
 > ls
 HelloWorld.c makefile
 > mingw32-make
 gcc -o HelloWorld helloWorld.c
 > HelloWorld.exe
 Hello World!

--もっと詳細に記述する
---makefile
 HelloWorld: HelloWorld.c
 	gcc -o HelloWorld HelloWorld.c
 all :
 	${MAKE} HelloWorld
 .PHONY : clean
 clean :
 	@rm -rf *.exe
---注:一般的には、cの実行ファイルには拡張子をつけない(ほかのプログラムから参照するときは.oとする)。clean には全てのファイルの名前を直に書く。
---全てのファイルをコンパイルしたいとき
 > mingw32-make all
---全ての実行ファイルを削除したいとき
 > mingw32-make clean

***Eclipse [#b545b5f1]
-インストール
--[[Eclipse:http://shinzan.human.waseda.ac.jp/wiki/index.php?Eclipse]]を参考に、C/C++プラグイン(CDTプラグイン)にチェックを入れてインストール
-「ファイル」>「新規」>「スタンダード Make C プロジェクト」>プロジェクト名を適当に入れて「実行」
-左のウインドウに新しいプロジェクトができるので、プロジェクト名を右クリック>「プロパティー」>「Make ビルダー」タブを表示する
--「ビルド・コマンド」の「デフォルトを使用」のチェックをはずす
--ビルド・コマンドを以下のように設定([[参考:http://www.lares.dti.ne.jp/~sakaki/eclipse/EclipseFirst.html]])
#ref(gcc_4.jpg)

-HelloWorld.c を作る
--プロジェクト名を右クリック>「新規」>「ソース・ファイル」>ソース・ファイルのところに「HelloWorld.c」と書いて「終了」
--プログラムを書く
#ref(gcc_5.jpg)

-makefile を作る
--プロジェクト名を右クリック>「新規」>「ファイル」>ファイル名のところに「makefile」と書いて「終了」
--ファイルを作る([[参考:http://www.lares.dti.ne.jp/~sakaki/eclipse/EclipseFirst.html]])
#ref(gcc_6.jpg)
---makefile
 HelloWorld: HelloWorld.c
 	gcc -o HelloWorld HelloWorld.c
 all :
 	${MAKE} HelloWorld
 .PHONY : clean
 clean :
 	@rm -rf *.exe
---「all : (改行)(タブ)${MAKE} HelloWorld」の行がないと、Eclipseでプログラムに変更を加えても更新が反映されません。

-コンパイル
--プロジェクト名を右クリック>「プロジェクトの再ビルド」
#ref(gcc_7.jpg)
--コンパイルに成功したら、exeファイルと「バイナリー」ができる。
--HelloWorld.exeを右クリックして、「実行」>「ローカルC/C++アプリケーション実行」
---最初の一回はデバッガーを聞かれるけど、適当でOK
--実行できた!
#ref(gcc_8.jpg)

-プログラムを修正したら、「ファイル」>「保管」で保存した後、プロジェクト名を右クリック>「プロジェクトの再ビルド」をして、exeを実行する。

*Linux(Debian GNU/Linux 6.0)にCコンパイラをインストール [#nb834bbb]
-'''[[インテルコンパイラ:http://shower.human.waseda.ac.jp/~m-kouki/pukiwiki/index.php?Linux%E3%82%B5%E3%83%BC%E3%83%90%E9%96%A2%E4%BF%82#g2ac2ce5]]'''は公開停止。[[ここ:http://d.hatena.ne.jp/memoyashi/20090213/1234528090]]を参考に別のコンパイラをインストール。
-インテルコンパイラは公開停止。[[ここ:http://d.hatena.ne.jp/memoyashi/20090213/1234528090]]を参考に別のコンパイラをインストール。
#geshi(bash){{
sudo apt-get install dpkg-dev gcc g++ libc6-dev make patch
}}
--うまくいった。
--なお、Debian GNU/Linux 4.0 では以下のエラーが出てインストールに失敗する。((詳細は'''[[こちら:http://shower.human.waseda.ac.jp/~m-kouki/pukiwiki/index.php?Linux%E3%82%B5%E3%83%BC%E3%83%90%E9%96%A2%E4%BF%82#r5402b06]]'''。))
--なお、Debian GNU/Linux 4.0 では以下のエラーが出てインストールに失敗する。
 libc6 (< 2.10) しかし、2.7-18lenny6 はインストールされようとしています