**GCC(GNU Compiler Collection)を使うためのCygwinのセットアップ [#z55d57c8] #contents **始めに断っておきます [#pf44b655] 筆者の環境は、Windows 2000 Professional + ServicePack4な環境です。~ 場合によっては、一部違う可能性がありますが9x/Me、XPでもほとんど~ 変わらないと思いますので(vistaはわからない) その時その時で各自適切に対応してください。 **GCC(GNU Compiler Collection)とは? [#be1708dd] GCC(GNU Compiler Collection)とは、その名のとおり GNU によって提供されたコンパイラ集です。(※GNUとは、UNIX互換のソフトウェア環境を全てフリーソフトウェアで実装するプロジェクトです。)~ 導入するパッケージににもよりますが、基本セットを導入することで、以下の言語のコンパイラとそのライブラリを導入することが出来ます。~ -Ada -C -C++ -Objective-C -Objective-C++ -FORTRAN -Java また、小文字で gcc と書かれた場合は GNU C Compiler を指します。~ GCC(gcc)自体の歴史やこれまでに果たした歴史的な役割、あるいは動作原理等の情報が知りたければ、以下のサイトを見て回るか Google先生に聞いてみましょう。~ -[[WikipediaのGCC解説ページ:http://ja.wikipedia.org/wiki/GNU%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3]] -[[本家(英語):http://gcc.gnu.org/]] -[[GNUプロジェクト(日本語):http://ja.wikipedia.org/wiki/GNU]] ココではGNU最高の成果ともいえるGCCを、Windows環境下で気軽に利用できるようにするためにするために Cygwin を導入する手順を説明して生きたいと思います。~ **Cygwinとは? [#j31c6579] Cygwinとは、MS-Windows の環境下でUnix由来のソフトウェア群およびUnixライクな環境を利用するためのソフトウェア群です。~ 開発当初はコマンドラインツールのインポートがメインだったCygwinも、現在ではUnixにおけるGUIシステムであるX-Windowが利用できるようになり、その気になればX端末として利用できるまでの強力な環境を無償で手に入れられるようになっています。~ Unix由来のソフトウェアのインポートということで、当然のことながら GCC もしっかりインポートされており、手軽にC/C++の初頭学習が出来る環境を手に入れることが出来ます。(その気になればMS-Windowsネイティブの開発環境としても利用可能)~ **Cygwinのインストール [#v8e1e276] ***公式サイトへ [#veea007c] [[公式サイト:http://cygwin.com]]の右の方にある 「Install Cygwin now」というアイコンがあります~ 適当なディレクトリに保存し、「setup.exe」を 実行します。 ***実行したら [#ab09fd1d] 「Cygwin Net Release Setup Program」という 画面が出ます。~ 一番上を選び(Install from Internet)、次へをクリックします。 ***ルートディレクトリの指定及びインストールユーザーの指定、Default Text File Typeの指定 [#td3ff9ca] Root Directoryと書いてあるところがインストールするディレクトリです。(なおProgram Files等スペースを含むディレクトリの指定は避けたほうが無難でしょう。)~ 次にインストールユーザーの指定です。~ 見ればわかると思いますが「All Users」は全てのユーザーに対してインストールし「Just Me」は今ログインしているユーザーに対してインストール します。~ Default Text File TypeはUnix / binaryを選んだほうが無難だと思われます。~~ 用が済んだら「次へ」をクリックします。 ***パッケージを置くディレクトリの指定 [#k7d1e1d4] 基本的に「setup.exe」が置いてある場所が選ばれます。~ 嫌な方はC:\cygwin\packages等指定しておけばいいです。~ 終わったら、「次へ」をクリック。~ (ちなみに筆者はデスクトップにexe置いていたのでデスクトップ指定しそうになりましたw) ***ネットワークの設定 [#bd6b0ec6] Direct Connectionを選べばいいと思います…たぶんww~ 終わったら、「次へ」をクリック。 ***ミラーサイトの選択 [#r9fb00a0] いろいろありますが、ドメイン名(リストに載っているアドレスの末にある方)にjpとか日本の地名がローマ字で書かれていれば、大抵日本国内の サーバである事が多いです。適切なものを選びましょう。~ 終わったら、「次へ」をクリック。 ***パッケージの選択 [#idcf13ff] じっくり選びましょう。~ Defaultとか書いてある部分押せばInstallに変わるのでわかるはず。~ Defaultはたぶんお勧めのものをインストールする設定だと思います。~ binの部分はチェックつけるかどうかで、インストールするバイナリかどうか決まります。~ srcにチェック入れるとそのアプリケーションのソースが入手できます。~ ちなみにこの説明を見てる人は多分サーバー用途でCygwinをインストールする人は少ないと思うので、Apacheとか必要ないです。(Xな人はGnomeとか入れると便利だが、ディスク量が少なくなってしまうでしょう)~ 全部説明するとかなり長くなりそうなので、申し訳ないですが割愛させていただきます。~ 暇な人はこの続きを書いてください。ここよくわからんww~ ((暇な人から))面倒くさければ全部Installでもおk。よく分からない人もこれで。~ その時はSetup.exe最初画面で「Download Without Installing」を選んでファイルを一旦セットアップに必要なファイルをローカルにダウンロードしてから、再度「Install from Local Directory」を選択してローカルからインストールしたほうが結果的には早くなります。 ***もう一捻り [#q5f1ef2b] インストールが終了したら、デスクトップ上に「Cygwin(Cygwin BASH SHELL)」を起動するためのショートカットが作成されます。~ このショートカットのプロパティを開き、以下の項目にチェックを入れて、ソースのコピペ等のコンソール作業を楽に出来るようにしましょう。 -「オプション」タブ上の”編集オプション”の’簡易編集モード’と’挿入モード’ **Cの初頭学習にCygwinを薦める理由 [#i0921c45] 現在、MS-Windows環境において無償で手に入れられる実務でも使用できるレベルのコンパイラおよび開発環境としてはVisualStudio2005を筆頭に結構な数があります。~ 「MS-WindowsのC/C++開発環境ならVisualC++(VisualStudio)入れれば良いんでは?」と思われるのも当然かと思われます。~ たしかにWindowsの環境に特化したアプリケーション、とりわけGUIアプリやDirexctXを利用したゲームに関しては、事実上VisualStudio以外の選択肢が無いといってもあながち間違いではないでしょう。(この文章を書いてる私も仕事Windows用のプログラムを作る際にはVisualStudioを使ってます。他の開発ツールで作れないこともないですが、環境の構築からプログラムの作成に至るまで圧倒的に工数が違います)~ しかしこの場で対象とするCの初歩を勉強される方々にそのレベルの物は必要でしょうか?~ 個人的な見解としては答えはノーです。~ 何故ならコンソールベースで文字を表示するだけのプログラム、代表的なところでは 'Hello World!'ですが、これらを作成するのにVC++の提示するGUIの環境やWindws APIベースの独自ファンクション、MFC等は不要だからです。~ VC++でプロジェクトを生成すると何個も生成される構成ファイルも、本来'Hello World'程度なら C のソース1ファイルのみで事足ります。~ また、VisualStudio2005をインストールしただけの状態ではコマンドパスや各種環境変数が設定されていない為に、コンソールから直接コンパイルというのも手間がかかります。初心者を遠ざけてしまう理由としてはコレだけで十分ではないかと思います。(「環境変数なんて設定すれば良いだけの話ではないか!」と言われる向きもあるかとは思いますが、”初心者”と言うものを甘く見てはいけませんw)~ ~ Cygwinの初心者向き利点としては~ 『デスクトップ上に置かれた 'Cygwin'(又は 'Cygwin BASH Shell')のショートカットを叩けば、他に何の設定をする必要も無く即座にコンソールベースでのCの学習が可能となる』~ という一点に尽きるかと思います。~ ヘヴィーなUnix経験者やプログラミング経験者とはまた違った意味でCygwinは”コンソールベースでの単純で初歩的なプログラム学習環境”として初心者にオススメかと思います。~ C言語以外の様々な言語の環境も容易に整えることができます。