g++(Cygwin:UNIX風環境)のインストール
注:ブラウザでご覧になる際,ブラウザのフォントを固定ピッチフォントにしてください.プロポーショナルだとレイアウトが崩れる箇所があります.
はじめに
Toolsフォルダの中身
解凍プログラム(Archway)
g++(Cygwin:UNIX風環境)
マニュアル(man,groff)
Meadow(Emacs風エディタ)
ダウンロードサイト
はじめに
ここでは,g++を使えるようにするための方法を記述します.
付録CD-ROMには,Windows上で UNIXライクな環境を実現することができるCygwinが収録されています.
Toolsフォルダのfull.exe がその一連のプログラムです.
この環境は,Cygnus社が提供するFreeのソフトウェアですが,多くの人が開発に参加し,こまめにバージョンアップがなされているため,品質は市販のものと比べても,ひけをとるようなことはありません.
また,GCC関連では,Ver 2.01とそのマニュアルが収録してあります.
その他開発に使えそうなソフトも同時に収録してあります.
なお,以下に記述してありますインストールは一例です.インストールする環境によって異なる部分がありますので,よくご理解のうえインストールしてください.
また,多くの方がそれぞれのホームページで,インストール方法や解説,環境の充実についての情報を提供されていますので,それらを参考にされることをお勧めします.
Toolsフォルダの中身
以下のCygwin関連のプログラムは,Toolsフォルダに収めてあります.
full.exe
|
Cygwin(B2.01)本体 |
full-man.tar.bz2 |
マニュアル一式 |
Meadow-1.10-i386.tar.gz |
Meadow:Windows95/98/NT上で動くテキストエディタGNU emacs。
(宮下氏によるフリーウェア) |
groff-1.10-cygwin-b20-bin.tar.gz |
manユーティリティから呼ばれるプログラム群 |
man-1.5f-cygwin-b20-bin.tar.gz |
manユーティリティ |
Archway
|
archw055.exe |
解凍プログラム:Archway Ver.0.55 ※自己解凍形式
(浅野貴章(ardry)氏によるフリーウェア) |
tar32053.exe
|
解凍用DLL:TAR32.DLL Ver0.53
TAR, TAR.GZ(TGZ), TAR.Z(TAZ), GZIP(GZ), Compress(Z)に対応しています。
BZ2LIB.DLLがあれば,TAR.BZ2, BZIP2(BZ2)も操作できます。
(吉岡恒夫氏によるフリーウェア) |
bz2l003.lzh |
解凍用DLL:BZ2LIB.DLL Ver0.03
bzip2形式(拡張子bz2)の書庫を圧縮・解凍するためのライブラリです。
TAR32.DLLが必要です。
(吉岡恒夫氏によるフリーウェア) |
ulha3142.exe |
解凍用DLL:UNLHA32.DLL Ver 1.42
元々は解凍専用でしたが、現在は圧縮機能もあります。
(Archway Ver.0.55にバンドルされています。こちらはオリジナル書庫となります)
(Micco氏によるフリーウェア) |
unzp540.exe |
解凍用DLL:UNZIP32.DLL Ver 5.40
.ZIP 形式のファイルを解凍するライブラリです。
(Archway Ver.0.55にバンドルされています。こちらはオリジナル書庫となります)
(shoda T氏によるフリーウェア) |
解凍プログラム(Archway)
Archwayフォルダには、圧縮・解凍プログラムArchwayと圧縮・解凍用個別DLLファイルがあります.
Archwayを用いてマニュアルのbz2形式等の解凍ができますので、まず、Archwayをインストールします.
Archw055.exeを実行すると自動的にセットアッププログラムが立ち上がります。
このセットアッププログラムにより、ユーザーの指定するフォルダにArchwayを導入し、同梱されているUNLHA32.DLL、UNZIP32.DLLをSYSTEMフォルダに転送します.
ただし、同梱されているDLLよりも新しいDLLが見つかったときには上書きはされません.導入したArchwayは,コントロールパネルの「アプリケーションの追加と削除」から削除できます。
使い方の詳細は、Archwayに同梱されているテキストファイル(Archway.txt)をご覧ください。Archwayは,解凍用の個別の DLL
を部品として,Archwayの実行形式が存在するフォルダにおくだけで,多くの圧縮形式を扱うことができるようになります.
ここでは、bz2、gzの解凍ができるようにTAR32.DLLとBZ2LIB.DLLを用意してありますので、それぞれ解凍して使用してください。bz2l003.lzhはArchwayを利用して解凍ができます。
g++(Cygwin:UNIX風環境)
◆インストール法
CD-ROMから full.exe をハードディスク上の任意のフォルダにコピーします.
コピー後,そのフォルダ中の,full.exe アイコンをダブルクリックすると,インストーラが起動し必要な条件を訊ねてきます.基本的には,すべてデフォルトで進めていきます.
インストールディレクトリを変更したい場合は指示にしたがって変更します.
◆動作確認
Windowsのスタートボタン -> プログラム -> Cygnus Solutions -> Cygwin B20で起動すると,コマンドプロンプトライクの窓がでます.その窓には,おそらく,/tmp
ディレクトリがない, というワーニングが出ると思います. この抑制については,次のルートディレクトリの設定で記述します.
基本的には,この段階でUNIX環境を経験でき,目的の gcc を動かすこともできます.
◆ルートディレクトリの指定
以下は,cygnusをD:ドライブにインストールした筆者の場合です.C:ドライブにインストールし,しかも,C:ドライブが十分な空き領域(目安として,作業領域を含めて70MBくらい)があれば,行う必要はありません.
mount コマンドを実行してみてください.以下のような応答が返ってきます.なみに,行頭の bash-2.02$ はbashプロンプトです.
bash-2.02$ mount
Device Directoru Type Flags
D:\Cygnus /cygnus native text!=binary
C: / native text!=binary
ここで,umount / を実行して,C:ドライブをルートディレクトリにマウントしているものを解除します.そのかわりに,mount -b D:
/ を実行します.その後.mount コマンドを実行すると,以下のように,ルートディレクトリが D:ドライブに変更されたのがわかります.
bash-2.02$ mount -b D: /
bash-2.02$ mount
Device Directoru Type Flags
D:\Cygnus /cygnus native text!=binary
D: / native text=binary
このあと,mkdir /tmp で,tmpディレクトリを作っておきます.
このディレクトリ作成により,Cygwinを起動した段階で,前述のワーニングは出なくなります.
試みに,いったんCygwinを終了し,再度,起動してみてください.ワーニングは出なくなっています.
◆その他のディレクトリの作成
ルートディレクトリに,binとusrディレクトリを作成しておきます.
bash-2.02$ cd ~
bash-2.02$ mkdir bin
bash-2.02$ mkdir usr
1行目で,ルートディレクトリに移動し,2行目と3行目のmkdirでbinとusrを作ります.
◆ sh.exeの扱い
先ほど作った /bin に Cygnus/cygwin-b20/H-i586-cygwin32/bin に存在する sh.exe をコピーしておきます.これは重要ですので,必ず行ってください.
◆g++の利用
CD-ROMから各フォルダをハードディスクにコピーしておきます(コピーはWindows上で行ったほうがいいでしょう).フォルダごとに,実行形式を作ることになりますが,カレントディレクトリを検索可能にするためにパスを教えておく必要があります.
インストール完了後に,インストールディレクトリの中の cygwin-b20 ディレクトリにcygnus.bat というバッチファイルができています.
内容は以下のようになっています.
@ECHO OFF
SET MAKE_MODE=UNIX
SET PATH=d:\cygnus\CYGWIN~1\H-I586~1\bin;%PATH%
bash
最後の行の bash が,シェルとして起動されます.
その前の行のPATH設定に,カレントディレクトリを探せるようなパスを挿入します.
具体的には,%PATH%の直前に,「.;」を挿入しておきます.変更後は以下のようになります.
@ECHO OFF
SET MAKE_MODE=UNIX
SET PATH=d:\cygnus\CYGWIN~1\H-I586~1\bin;.;%PATH%
bash
このあと,目的のディレクトリへ移動して,make を実行します.
makeのみで,カレントディレクトリのMAKEFILEにしたがってコンパイル・リンクを行うことができます.
マニュアル(man,groff)
マニュアルは,bz2形式で圧縮されています.この形式はzip形式の最新版で,Cygwin関連の圧縮ファイルはこの形式になっています.解凍にはArchwayを使います.
マニュアルをインストールしなくてもCygwin環境は使えますが,インストールしておくと何かと便利です.
マニュアルは,full-man.tar.bz2 (約1.6MB) に圧縮されて入っていて,すべての項目を含んでいます.
このほかにマニュアルを使うためのユーティリティである man と groff が必要です.
man-1.5f-cygwin-b20-bin.tar.gz (約127KB)
groff-1.10-cygwin-b20-bin.tar.gz (約2.1MB)
としてCD-ROMに格納してあります.
◆インストールディレクトリ構造の作成
man コマンドは,ユーティリティといった位置づけのため,通常,/usr/local/man の中にマニュアル関連のファイルを収めています.したがって,ルートディレクトリの直下に作った
usrディレクトリの中にそのような構造のディレクトリを作成します.ただ,CD-ROM中の man ユーティリティのアーカイブを展開すると,そのようなディレクトリ構造をとっていますので,先に,それを展開しておきます.
つまり,man-1.5f-cygwin-b20-bin.tar.gzを展開すると,man-1.5f-cygwin-b20-bin_tarというフォルダが出来上がり,その中にディレクトリが展開されていますので,その直下のusrの下のlocalフォルダをフォルダごと,先に作った/usrにコピーします.
これで,目的のディレクトリ構造が実現できます.
ルートからだと,以下のようなディレクトリ構造になります.
/ --- bin ここには,sh.exeが存在する.
+- tmp ここは,空
+- usr --- local --- bin man.exe 等
+- lib man.conf が存在する
+- sbin
+- man --- man1 それぞれ,manのマニュアル
+- man5
次に,groff-1.10-cygwin-b20-bin.tar.gzを解凍します.
解凍が済むと,groff-1.10-cygwin-b20-bin_tarというフォルダが出来上がり,その中にusrから始まるディレクトリ構造が展開されていますので,その2つ下のbinとmanの中身を,先ほどの対応するディレクトリに移しておきます.groffのmanにはman1,man5,man7がさらにありますのでその中身を対応するディレクトリにコピーします.man7はそれごとmanの下にコピーします.
また,localの下にshareというディレクトリがありますが,それごと先のlocalの下にコピーします.
さらに,マニュアルの本体である,full-man.tar.bz2 を解凍します.
full-man_tarフォルダに展開されますので,その3つ下にある man を先ほどの要領でコピーします.
full-man_tarの下のmanには,man1,man3,man5,mann以外にファイルがありますが,それもコピーしておきます.
この段階で,ディレクトリ構造は以下のようになります.
/ --- bin ここには,sh.exeが存在する.
+- tmp ここは,空
+- usr --- local --- bin man.exe,groff.exe その他
+- lib man.conf が存在する
+- sbin
+- share --- groff ---> 以下続く
+- man ----- man1 それぞれ,manのマニュアル
+- man3
+- man5
+- man7
+- mann
これで,ディレクトリ構造とその中身は揃いました.
なお,groff.exeなどいくつかのexeがmanコマンドから起動されますので,
それらの場所をmanが知る必要があります.これについては,次項で説明します.
◆manを動かすために
manをbashから動かすためには,manが各種の情報を探すためのパスを設定する必要があります.
それには,次の2つを行います.
(1) cygnus.bat にMANPATH等を追記
cygnusをインストールしたディレクトリのcygwin-b20の中に,cygnus.bat というバッチファイルがあります.g++(Cygwin:UNIX風環境)でも書き変えたバッチファイルです.
次が,そのときの結果です.
@ECHO OFF
SET MAKE_MODE=UNIX
SET PATH=d:\cygnus\CYGWIN~1\H-I586~1\bin;.;%PATH%
bash
これに,以下のような追加を行っておきます.3行目のPATHに d:\usr\local\bin を追記し,
5行目のMANPATHを追加します.
最初の追記は,man.exeやmanが使う他のプログラムを探すパスを与え,
MANPATHは,マニュアル情報の存在場所を与えています.
@ECHO OFF
SET MAKE_MODE=UNIX
SET PATH=d:\cygnus\CYGWIN~1\H-I586~1\bin;d:\usr\local\bin;.;%PATH%
SET PATH=F:\Meadow\1.10\bin;%PATH%
SET MANPATH=//d/usr/local/man
bash
なお,4行目はMeadow(Emacs風エディタ)のインストールで追加するパスです.
(2) man.conf の修正
/usr/local/lib に man.conf というman用のコンフィギュレーションファイルが存在します.
これの中身の一部を次のように書き換えます.
以下の行を探してください.
PAGER /bin/less -is
これを,以下のように書き変えます.
PAGER /cygnus/cygwin-b20/H-i586-cygwin32/bin/less -is
要するに,less.exeが,/cygnus/cygwin-b20/H-i586-cygwin32/binに存在しますから,
そこへのパスを教えているわけです.
なお,ルートディレクトリや/binなどを,適切にmountすれば,この書き換えは不要になります.
Meadow(Emacs風エディタ)
◆インストール手順
解凍は,Archwayを使います.ただし設定で .tar を tgz 形式とします.
解凍されると,Meadowフォルダが生成されるので,それを適当な場所に移動しておきます.
その後,INSTALL.exeを実行すると,コマンドプロンプトがひらいて,Homeディレクトリを
聞いてきますので,適当なディレクトリを入力します.INSTALL.exe は Meadow\1.10\bin にあります.
Homeディレクトリは,.emacs と称する初期設定ファイルが存在する場所でもあります.
詳しくは,INSTALL.Meadowjaを参照してください.
Homeディレクトリには,筆者は D: を指定しておきました.
◆起動の確認
以上で, Meadow を動かすことができます.
WindowsからMeadowのアイコンや,実行ファイルを直接ダブルクリックして起動できます.
起動されると以下のようなWindowが表示されます.
◆日本語の入力と表示
このままでは,日本語が使えません.日本語の入力と表示を有効にするには,.emacs に以下を
書いておく必要があります.
;; 日本語環境
(set-language-environment "Japanese")
(set-w32-system-coding-system 'sjis)
(set-clipboard-coding-system 'sjis-dos)
(set-keyboard-coding-system 'sjis)
(mw32-ime-initialize) ;; IME の初期化
.emacs ファイルは最初は存在しないので,Meadow で作ることになります.どのようなエディタ
で作ってもかまいませんが,メモ帳の場合,保存の際に .txt という拡張子を追加するので,
あとでファイル名を .emacs の形に変更しておく必要があります.
◆cygwinからの起動
cygwinから起動するには,Meadow.exe の存在場所がわかるようにしておく必要があります.
それには,cygnus.bat ファイルの PATH に以下の行を追加しておきます.ここでは,Fドライブに
Meadow フォルダをインストールしたものと仮定しています.
ただし,追加する場所は,オリジナルのPATH設定行の次となります.
SET PATH=F:\Meadow\1.10\bin;%PATH%
cygwin の窓から,つまり bash プロンプトに対して,meadow とすると,meadow が
起動されます.bash プロンプトはすぐに返ってきますが,meadow の起動は一呼吸おいた感じで
行われますので,遅いからといって慌てることはありません.
ダウンロードサイト
CD-ROMに収録してあるプログラムは2000年のものです.
最新版については,以下のサイトなどから入手できます.
|