Compilieren von C++-Anwendungen von der Befehlszeile aus

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu So compilieren und erzeugen Sie Anwendungen

In diesem Thema wird das Erzeugen oder Vorverarbeiten einer einfachen C++-Anwendung für 32-Bit-Windows mit einer Stapeldatei beschrieben, die die von der IDE verwendeten Befehlszeilen enthält.

Suchen der Befehlszeilen

Sie können eine Datei, die Sie normalerweise in der IDE erzeugen würden, in der Befehlszeile ausführen. Zuerst müssen Sie die Befehlszeilen in der IDE suchen. Gehen Sie dazu folgendermaßen vor:

  1. Öffnen Sie in RAD Studio das Projekt, das Sie compilieren möchten.
  2. Wechseln Sie zu Tools > Optionen > Umgebungsoptionen, und aktivieren Sie das Kontrollkästchen Befehlszeile anzeigen.
  3. Erzeugen Sie das Projekt (Projekt > <Projekt> erzeugen).
  4. Öffnen Sie das Meldungsfenster (Ansicht > Meldungen), und klicken Sie auf das Pluszeichen (+) entweder vor "Bcc32 Befehlszeile für <Projekt>" (zum Compilieren, Erzeugen und Linken) oder vor "Cpp32 Befehlszeile für <Projekt>" (zum Vorverarbeiten).
  5. Kopieren Sie die im Meldungsfenster angezeigten Befehlszeilen.

Erzeugen des Projekts (Compilieren und Linken)

Im folgenden Beispiel werden die Befehlszeilen für den C++-Compiler, BCC32, über eine Stapeldatei bereitgestellt. (Sie können anstelle einer Stapeldatei die Befehlszeilen auch in das Befehlsfenster kopieren.)

  1. Erstellen Sie eine C++-Quelldatei, File1.cpp, mit dem folgenden Inhalt:
     #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. Erstellen Sie eine Stapeldatei, Build.bat, die die aus dem Meldungsfenster kopierte Befehlszeile enthält. Die Pfade in der .bat-Datei können – je nachdem, wo Ihre IDE installiert ist und welche Windows-Host-Plattform verwendet wird – variieren. Zum Beispiel:
     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	
    
  3. Erstellen Sie den Pfad \Debug\Win32.
  4. Führen Sie die Datei Build.bat aus.
  5. Führen Sie die Datei \Debug\Win32\Project1.exe aus.

Vorverarbeiten des Projekts

Das folgende Beispiel entspricht dem vorherigen Beispiel, stellt aber über eine Stapeldatei die Befehlszeilen für den Präprozessor, CPP32, bereit:

  1. Erstellen Sie eine Stapeldatei, Preprocess.bat, mit dem folgenden Inhalt:
     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
    

    Diese Datei muss im selben Verzeichnis wie die Datei File1.cpp gespeichert werden.

  2. Führen Sie die Datei Preprocess.bat aus.
  3. Sehen Sie sich die Datei File1.tmp (die erzeugte Datei) an.

Siehe auch