準備 コマンドライン・コンパイラの使い方 (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のソースファイルをコンパイル/リンクするには

% gcc test.c                             
%                                        
と実行します。正常にコンパイル/リンクされた場合はこの様に何も表示されません。 実行ファイルは a.out となります。これを実行するには次のように行います。

% ./a.out                                 
はじめの ' ./ ' は現在のディレクトリを意味します。UNIXでは「.」現在位置を、 「/」(スラッシュ)がディレクトリのセパレータを意味します。これはアプリケー ションの検索パスを現在のディレクトリに優先させるためのものです。  またプログラムの中でCの数学ライブラリ math.h をインクルードしている場合 は、リンクオプション「 -lm 」が必要です。

% gcc test.c -lm                          
 また、C++プログラムの場合は g++ を使います。

% g++ test.cc                             
C++ソースファイルの拡張子には .C または .cc が良く使われます。  GNU C/C++コンパイラには、Windows NT/95に移植したCygwinがあります。 これ は米Cygnus Solutions (現:RedHat)によりフリーソフトウェアとして公開され ていて、ホームページからダウンロードできます。

 | 目次  |  戻る |

Copyright(c) 1998,1999 Yamada, K