Compilation d'une application C++ depuis la ligne de commande
Remonter à Comment compiler et construire des applications
Cette rubrique décrit comment construire ou prétraiter une application C++ Windows 32 bits simple par le biais d'un fichier de commandes qui contient les lignes de commande utilisées par l'EDI.
Sommaire
Recherche des lignes de commande
Vous pouvez prendre un fichier que vous construisez normalement dans l'EDI, et l'exécuter sur la ligne de commande. Vous devez d'abord trouver les lignes de commande dans l'EDI, comme suit :
- Dans RAD Studio, ouvrez le projet à compiler.
- Allez sur Outils > Options > Options d'environnement et cochez la case Afficher la ligne de commande.
- Construisez le projet (Projet > Construire <projet>).
- Ouvrez la vue Messages (Voir > Messages) et cliquez sur le signe + devant "Ligne de commande bcc32 pour <projet>" (compilation, construction et liaison) ou "Ligne de commande cpp32 pour <projet>" (prétraitement).
- Copiez les lignes de commande affichées dans la vue Messages.
Construction du projet (compilation et liaison)
L'exemple suivant utilise un fichier de commandes pour distribuer les lignes de commande au compilateur C++, BCC32. Vous pouvez aussi coller les lignes de commande dans la fenêtre CMD, au lieu d'utiliser un fichier de commandes.
- Créez un fichier source C++, File1.cpp, avec le contenu suivant :
#include <vcl.h> #include <stdio.h> #pragma hdrstop #include <tchar.h> //--------------------------------------------------------------------------- #pragma argsused int _tmain(int argc, _TCHAR* argv[]) { puts("Hello world!"); return 0; }
- Créez un fichier de commandes, Build.bat, contenant la ligne de commande copiée depuis la vue Messages. Les chemins contenus dans le fichier .bat peuvent varier selon l'emplacement où est installé votre EDI et la plate-forme Windows hôte. Par exemple :
SET RADSTUDIO_PATH=C:\Program Files (x86)\Embarcadero\Studio\18.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
- Créez le chemin \Debug\Win32.
- Exécutez Build.bat.
- Exécutez \Debug\Win32\Project1.exe.
Prétraitement du projet
L'exemple suivant est similaire à l'exemple précédent, sauf que celui-ci utilise un fichier de commandes pour distribuer les lignes de commande au préprocesseur, CPP32 :
- Créez un fichier de commandes, Preprocess.bat, avec le contenu suivant :
SET RADSTUDIO_PATH=C:\Program Files (x86)\Embarcadero\Studio\18.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
Ce fichier doit être enregistré dans le répertoire où est stocké File1.cpp.
- Exécutez Preprocess.bat.
- Voir File1.tmp (le fichier généré).