Compilation d'une application C++ depuis la ligne de commande

De RAD Studio
Aller à : navigation, rechercher

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.


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 :

  1. Dans RAD Studio, ouvrez le projet à compiler.
  2. Allez sur Outils > Options > Options d'environnement et cochez la case Afficher la ligne de commande.
  3. Construisez le projet (Projet > Construire <projet>).
  4. 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).
  5. 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.

  1. 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;
    }
    
  2. 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
    
  3. Créez le chemin \Debug\Win32.
  4. Exécutez Build.bat.
  5. 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 :

  1. 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.

  2. Exécutez Preprocess.bat.
  3. Voir File1.tmp (le fichier généré).

Voir aussi