コマンド ラインから C++ アプリケーションをコンパイルする
操作手順:アプリケーションをコンパイルしてビルドする への移動
このトピックでは、IDE が使用するコマンド ラインをバッチ ファイルに記述し、それを使って単純な 32 ビット Windows C++ アプリケーションのビルドやプリプロセスを行う方法を説明します。
コマンド ラインの検索
通常は IDE 内でビルドするファイルを取得し、コマンド ラインで実行することができます。 まず、IDE で使われるコマンド ラインを探す必要があります。手順は次のとおりです。
- RAD Studio で、コンパイル対象のプロジェクトを開きます。
- [ツール|オプション...|環境オプション]を開き、[コマンド ラインを表示]ボックスをオンにします。
- プロジェクトのビルドします([プロジェクト|<プロジェクト> をビルド])。
- メッセージ ビュー([表示|メッセージ])を開き、[<プロジェクト>の "bcc32" コマンドライン](コンパイル、ビルド、リンクの場合)、または、[<プロジェクト>の "cpp32" コマンドライン](プリプロセスの場合)の前にある[+]記号をクリックします。
- メッセージ ビューに表示されたコマンド ラインをコピーします。
プロジェクトのビルド(コンパイル、リンク)
次の例では、バッチ ファイルを使ってコマンド ラインを C++ コンパイラ BCC32 に渡しています。 (バッチ ファイルを使う代わりに、コマンド ラインをコマンド プロンプトに貼り付けることもできます。)
- C++ ソース ファイル File1.cpp を作成し、次の内容を記述します:
#include <vcl.h> #include <stdio.h> #pragma hdrstop #include <tchar.h> //--------------------------------------------------------------------------- #pragma argsused int _tmain(int argc, _TCHAR* argv[]) { puts("Hello world!"); return 0; }
- バッチ ファイル、Build.bat を作成し、メッセージ ビューからコピーしたコマンドラインを入れます。 .bat ファイル内のパスは、IDE がインストールされている場所やホストとなる Windows プラットフォームによって変わる可能性があります。 例:
SET RADSTUDIO_PATH=C:\Program Files (x86)\Embarcadero\Studio\19.0 REM COMPILE SET INCLUDE_FILE_SEARCH_PATH="%RADSTUDIO_PATH%\include";"%RADSTUDIO_PATH%\include\windows\crtl";"%RADSTUDIO_PATH%\include\windows\sdk";"%RADSTUDIO_PATH%\include\windows\rtl";"%RADSTUDIO_PATH%\include\windows\vcl";"%RADSTUDIO_PATH%\include\windows\vcl" "%RADSTUDIO_PATH%\bin\bcc32.exe" -D_DEBUG -D;USEPACKAGES -n.\Debug\Win32 -I=%INCLUDE_FILE_SEARCH_PATH% -y -Q -k -r- -c -tC -tM -tU -C8 -o.\Debug\Win32\File1.obj -w-par -Od -v -vi- -H=.\Debug\Win32\Project1.pch -H File1.cpp REM LINK SET LIBRARY_SEARCH_PATH=.\Debug\Win32;"%RADSTUDIO_PATH%\lib\Win32\debug";"%RADSTUDIO_PATH%lib\win32\debug\psdk";"%RADSTUDIO_PATH%\lib\Win32\debug" SET OBJECT_SEARCH_PATH=.\Debug\Win32;"%RADSTUDIO_PATH%\lib\Win32\debug";"%RADSTUDIO_PATH%\lib\win32\debug\psdk";"%RADSTUDIO_PATH%\lib\Win32\debug" "%RADSTUDIO_PATH%\bin\ilink32.exe" -L%LIBRARY_SEARCH_PATH% -j%OBJECT_SEARCH_PATH% -l.\Debug\Win32 -v -V5.0 -G8 -Tpe c0x32w vcl.bpi rtl.bpi memmgr.lib sysinit.obj .\Debug\Win32\File1.obj , .\Debug\Win32\Project1.exe , .\Debug\Win32\Project1.map , import32.lib cp32mt.lib , , PAUSE
- パス \Debug\Win32 を作成します。
- Build.bat を実行します。
- \Debug\Win32\Project1.exe を実行します。
プロジェクトのプリプロセス
次の例は先ほどの例と似ていますが、バッチ ファイルを使ってコマンド ラインを渡す先がプリプロセッサ CPP32 である点が異なります。
- バッチ ファイル、Preprocess.bat を、次の内容で記述します:
SET RADSTUDIO_PATH=C:\Program Files (x86)\Embarcadero\Studio\19.0 SET INCLUDE_FILE_SEARCH_PATH="%RADSTUDIO_PATH%\include";"%RADSTUDIO_PATH%\include\windows\crtl";"%RADSTUDIO_PATH%\include\windows\sdk";"%RADSTUDIO_PATH%\include\windows\rtl";"%RADSTUDIO_PATH%\include\windows\vcl";"%RADSTUDIO_PATH%\include\windows\vcl" "%RADSTUDIO_PATH%\bin\cpp32.exe" -D_DEBUG -D_RTLDLL;USEPACKAGES -I=%INCLUDE_FILE_SEARCH_PATH% -y -Q -k -r- -c -tWC -tWM -tU -C8 -o"File1.tmp" -w-par -Od File1.cpp
このファイルは、File1.cpp が格納されているディレクトリに保存する必要があります。
- Preprocess.bat を実行します。
- File1.tmp(生成されたファイル)を確認します。