準備 コマンドライン・コンパイラの使い方
(1998/11/07初版) 1999/04/17改訂
ここではWindows 95/98 ベースのコンパイラとしてBorland C++(ver 5.x) および
Microsoft Visual C++ (ver 4.0以上)を例に、コンソール(MS-DOSプロンプト)で
のコマンドライン・コンパイラの使い方を説明します。また UNIX ベースのコンパイラ
として Free Software Foundation のGNU C/C++ コンパイラ(gcc, g++)についても
簡単に触れます。
Borland C++(ver 5.x)のコマンドライン・コンパイラは、BCC32.EXE(Borland
C++ Builderにも付属しています)で、 Visual C++は CL.EXE です。
1. Borland C++(ver 5.x)の場合
Borland C++ および Borland C++ Builder では、インストール時にコンパイラーの
あるディレクトリのパスを autoexec.bat に設定されますので、コンソール(MS-DOSプ
ロンプト)から直接実行できます。カレントディレクトリを C:\Source> とするとソー
スファイルlist01_01.cpp をコンパイル/リンクするには、
C:\Source>bcc32 lst01_01.cpp
と実行します。エラーがなければ、作成された実行ファイル lst01_01.exe を実行しま
す。例を示します。
C:\Source>bcc32 lst01_01.cpp
Borland C++ 5.3 for Win32 Copyright (c) 1993, 1998 Borland International
lst01_01.cpp:
Turbo Incremental Link 3.01 Copyright (c) 1997, 1998 Borland International
C:\Source>lst01_01
2つの整数を入力してください:123 456
123 + 456 = 579
123 - 456 = -333
123 * 456 = 56088
123 / 456 = 0
C:\Source> |
BCC32.exe はデフォルトでは、環境設定ファイルBCC32.CFGを参照します。独自のヘ
ッダ・ファイルやライブラリ・ファイルを使用する場合はこの環境ファイルを編集しま
す。
まず、ディレクトリ C:\MYHEADER にヘッダ・ファイルを C:\MYLIB にライブラリ・
ファイルを置いたとします。BorlandC++が C:\BC5 にインストールされているとして、
C:\BC5\BIN にあるBCC32.CFGファイルに次の2行を追加します。
--------------------------------------------
-IC:\BC5\INCLUDE
-LC:\BC5\LIB
-IC:\MYHEADER <---- これを追加
-LC:\MYLIB <---- これを追加(使わないときはこの行はいらない)
--------------------------------------------
ソースファイルtest.cppで、ライブラリ・ファイル MYLIB.LIB リンクする場合は
C:\Source>Bcc32 test.cpp mylib.lib
でコンパイル/リンクできます。同じライブラリを頻繁に利用するときはバッチファイル
を用意しておく方がよいでしょう。
例えば BC.BAT という名前のバッチファイルをメモ帳などで作成(Pathの通ったディ
レクトリに置く)し、次の1行を書きます。
---------------------------------------------------
@echo off
BCC32 %1 %2 %3 %4 %5 %6 %7 %8 %9 mylib.lib
---------------------------------------------------
コンパイル/リンクは次のようにします。
C:\Source>bc test.cpp
2. Visual C++(ver 4.0以上)の場合
Visual C++がインストールされているディレクトリの、サブディレクトリ\BINにある
バッチファイル
VCVARS32,BAT
をコンソール(MS-DOSプロンプト)から実行します。デフォルトではPathは通っていな
いのでフルパスで実行することになります、あるいはこのファイルを適当なディレクト
リにコピーして実行してください。使いやすい名前に変更すると良いでしょう。
すると、次のメッセージか表示されます。
Setting environment for using Microsoft Visual C++ tools.
(注)『環境変数が足りない』というエラーが表示されたら、 config.sys に、
SHELL = C:\COMMAND.COM /e:1024 /p
という行を追加すればよい(起動ドライブが C: の場合)。
これで、コマンドラインコンパイラ CL.EXE を実行できる環境が設定されます。
C:\Source>cl test.cpp
でコンパイル/リンクできます。また、独自のライブラリ・ファイルをリンクするには
C:\Source>cl test.cpp /link mylib.lib
でできます。
VCVARS32,BATの中身を見ると、独自のバッチファイルを作成するヒントが得られます。
以下では、Visual C++ ver 6.0 の場合を例に示します。
C:\Microsoft Visual Studio にインストールされているとして、次のようなバッチ
ファイル VC.BAT をメモ帳などで作成します。
---------------------------------------------------
@echo off
if "%MsDevDir%"=="C:\MICROS~1\COMMON\msdev98" goto msdev
set MSDevDir=C:\MICROS~1\COMMON\msdev98
set PATH=%MSDevDir%\BIN;%PATH%
:msdev
if "%MSVCDir%"=="C:\MICROS~1\VC98" goto msvc
set MSVCDir=C:\MICROS~1\VC98
set PATH=%MSVCDir%\BIN;%PATH%
:msvc
set INCLUDE=%MSVCDir%\ATL\INCLUDE;%MSVCDir%\INCLUDE;%MSVCDir%\MFC\INCLUDE
set LIB=%MSVCDir%\LIB;%MSVCDir%\MFC\LIB
CL %1 %2 %3 %4 %5 %6 %7 %8 %9
SET INCLUDE=
SET LIB=
---------------------------------------------------
(注意)set INCLUDE=やset LIB=などはすべて1行で書きます(改行を入れては
いけません)。
次のように、コンパイル/リンクします。
C:\Source>vc test.cpp
すると次のように表示されコンパイル/リンクが行われます。
C:\Source>vc test.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
test.cpp
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
/out:test.exe
test.obj
C:\Source> |
独自のヘッダ・ファイルやライブラリ・ファイルを使用する場合は、バッチファイル
を次のように編集します。
ディレクトリ C:\MYHEADER にヘッダ・ファイルを C:\MYLIB にライブラリ・ファイ
ルを置いたとします。set INCLUDE= や set LIB= の最後にこれらのパスを追加します。
-----------------------------------------------------------------
set INCLUDE=%MSVCDir%\ATL\INCLUDE;%MSVCDir%\INCLUDE;%MSVCDir%\MFC\INCLUDE;C:\MYHEADER
set LIB=%MSVCDir%\LIB;%MSVCDir%\MFC\LIB;C:\MYLIB
-----------------------------------------------------------------
これらはすべて1行で書きます。
そしてライブラリ・ファイル MYLIB.LIB をリンクする場合は
---------------------------------------------------------
CL %1 %2 %3 %4 %5 %6 %7 %8 %9 /link MYLIB.LIB
---------------------------------------------------------
の様に、バッチファイルを書き換えます。
3. GNU C/C++ コンパイラの場合
GNUの C/C++ コンパイラは、Cコンパイラが gcc でC++コンパイラが g++ という
名前のプログラムです。Cのソースファイルをコンパイル/リンクするには
と実行します。正常にコンパイル/リンクされた場合はこの様に何も表示されません。
実行ファイルは a.out となります。これを実行するには次のように行います。
はじめの ' ./ ' は現在のディレクトリを意味します。UNIXでは「.」現在位置を、
「/」(スラッシュ)がディレクトリのセパレータを意味します。これはアプリケー
ションの検索パスを現在のディレクトリに優先させるためのものです。
またプログラムの中でCの数学ライブラリ math.h をインクルードしている場合
は、リンクオプション「 -lm 」が必要です。
また、C++プログラムの場合は g++ を使います。
C++ソースファイルの拡張子には .C または .cc が良く使われます。
GNU C/C++コンパイラには、Windows NT/95に移植したCygwinがあります。 これ
は米Cygnus Solutions (現:RedHat)によりフリーソフトウェアとして公開され
ていて、ホームページからダウンロードできます。
| 目次 |
戻る |
Copyright(c) 1998,1999 Yamada, K