Borland C++Builderを統合環境で使う
フリーになったBoarlandCですが、フリーになったのはコンパイラのみ。GUIのある統合環境はやはり有料です。そうはいってもコンパイラが簡単に手に入るのはCやC++を始めて見たい人にとっては大きな事件です。そこで少しでも簡単にC++Builderを使うためにTextPadに組み込んでしまいましょう。
TextPadを使えば、コンパイルしたときにエラー先に飛ぶハイパージャンプを使用しながらエディターの上でのみでコンパイル作業ができます。ワークスペースを使えばVC++のプロジェクトファイルのように多くのファイルを一元管理できます。
■C++Builderの設定
C++Builder5.5を基準にしています。インプライズ社のWebサイトからダウンロードしてインストールしてください。
Borland/Inprise ホーム ページ: http://www.inprise.co.jp/
ここではデフォルトのパス
C:\Borland\bcc55
を基準にします。
C++BuilderのReadMe.txtに従いパスを記述します。
Win95/98ではAUTOEXEC.BATに
PATH=%PATH%c:\Borland\Bcc55\bin;
を追加。Win2000ではコントロールパネル->システム->詳細->環境変数でpathを編集します。
ReadMe.txtにしたがって bcc32.cfg ファイル、 ilink32.cfg ファイルを作成します。
■TextPadの設定
ここではMakeを使用することを基本にします。まず環境設定のツールマネージャーでツールにプログラムを追加します。

Borland\bc55\binMake.exeを選択し適用をクリックします。
ここで確認と変更が必要な項目をあげて見ます。
Allを入力する。普通はこれで十分だと思います。
ファイル名の拡張子なしをターゲットに割り当てる。この場合この引数にAllをもった別のツールを設定しておくとプロジェクト全てをビルドするとき便利です。
TextPadのワークスペースを作りその名前をプロジェクトとして扱う。たとえばTestと名づけたプロジェクトの一連のファイルを読み込みTest.twsの名前でTextPadのワークスペースを作ります。以後このTest.twsをクリックすれば全ての関連するファイルを読み込みますので作業が楽です。そしてこのワークスペースの名前をMakeに適用するために次のパラメーターを使用します。
これらのコマンドパラメーター引数は、環境設定のダイアログが表示されているときにヘルプをクリックして調べることができます。
出力に一致させる正規表現:これもデフォルトで大丈夫です。C++Builderのエラー出力にあわせています。
ここの意味は最初の括弧でない文字列をクラス3に括弧の中の数字0-9をクラス4に入れます。
^\(エラー\|警告\) \([EW][0-9]+\) \(.+\) \([0-9]+\):
ハイパージャンプの割り当てを使用して、ファイル名を先のクラス1にジャンプ先の行をクラス2に割り当てます。
これで
警告 W8013 calc.cpp 96: 'intval' は、おそらく値が代入される前に使われている(関数 main() )
このような実行結果ウインドウのエラー行のファイル名と行番号をハイパージャンプに使用します。
注意:一度ツールのパラメーターを変更したら出力結果と一致させるためにビルドはやり直してください。
ファイルに変更がないのにもう一度ビルドしたいときは、ファイルの日付がすでにMakeが済んだことになっているのでMakeされません。そこでTouch機能を使用してファイルの日付をアップデートします。BorlandにもTouch.exeがありますが、TextPadでは[ファイルの操作]->ファイル名の入力->日付/時間の更新でTouch.exeができます。(実際英語モードではTextPadのメニューはTouchとなっています。)
これで準備できました。以後これらを変更する必要はありません。
■コンパイル
サンプルコードを使いながらコンパイルの練習をしてみましょう。
C++Builderをインストールしたディレクトリーの下にあるExamples\StdLibには多くのサンプルファイルがあります。
ここから 次のファイルをとりだして別のディレクトリーCalcを作って入れます。
C:\Borland\bcc55\Examples\calc | + |
|
+-- calc.cpp
+-- stlexam.h
+-- Makefile
+-- makeincl.inc |
MakeFileを編集します。もともとが全てのStdLibをビルドするようにできていますから不必要なものを抜くだけです。Makefileから抜き出してみました。ALLEXESのターゲット記述とcalcのターゲットを別に追加しただけです。
!include makeincl.inc
######################## Targets #################################
ALLEXES = \
calc.exe \
all : $(ALLEXES)
all : allobjs $(ALLEXES)
allobjs: $(ALLEXES:.exe=.obj)
calc: calc.exe calc.obj
clean:
-@if exist *.obj del *.obj >nul
-@if exist *.lib del *.lib >nul
-@if exist rwstdmsg.res del rwstdmsg.res >nul
-@if exist *.exe del *.exe >nul
-@if exist *.dll del *.dll >nul
-@if exist *.tds del *.tds >nul
-@if exist $(PCHROOT).* del $(PCHROOT).* >nul
runall: all $(ALLEXES)
& $?
########################### Implicit Rules #######################
.cpp.obj:
$(CPP) $(CPPFLAGS) -c {$? }
.cpp.i:
$(CPP32) $(CPPFLAGS) -c -Sr -Sd {$? }
.obj.exe:
$(CPP) $(CPPFLAGS) $< |
準備ができたらTextPadを立ち上げて、Makeを起動しましょう。コマンドパラメーターにAllを指定しているときは、どのファイルでもよいですからディレクトリーcalcの下のファイルを開いて現在のディレクトリーをcalcにしておきます。そうでないとMakeがMakefileを見つけることができません。コマンドパラメーターに$FileBaseNameを指定しているときは、calc.cppを開いた状態で呼び出します。以下の結果がTextPadの実行結果ウインドウに表示されます。
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
bcc32 -w -jb -j1 -Hc -H=stl_pch.csm -tWC -lGn -tWM -c calc.cpp
Borland C++ 5.5 for Win32 Copyright (c) 1993, 2000 Borland calc.cpp: プリコンパイルヘッダの読み込み
bcc32 -w -jb -j1 -Hc -H=stl_pch.csm -tWC -lGn -tWM calc.obj
Borland C++ 5.5 for Win32 Copyright (c) 1993, 2000 Borland
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
プロセスは問題なく終了しました |
さてエラーが発生したときですが
エラー E2451 calc.cpp 103: 未定義のシンボル intvall(関数 main() )
エラー E2228 calc.cpp 103: エラーあるいは警告が多すぎる(関数 main() )
|
このようなメッセージが出力されているはずです。先ほど設定したハイパージャンプの機能を使って
F4キーまたはエラーの行をダブルクリックすることでエラーが発生した場所を表示してくれるでしょう。
TextPadのツールマネージャーのセットアップが面倒な方のために、レジストリーからC++Builder用の設定部分を抜き出しました。ファイルを解凍してそのままダブルクリックしてレジストリーに読み込んでください。ツールの一番にMakeが設定されます。
ダウンロード: TextPadBorlandC.zip
|