Compilieren von C++-Anwendungen von der Befehlszeile aus
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.
Inhaltsverzeichnis
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:
- Öffnen Sie in RAD Studio das Projekt, das Sie compilieren möchten.
- Wechseln Sie zu Tools > Optionen > Umgebungsoptionen, und aktivieren Sie das Kontrollkästchen Befehlszeile anzeigen.
- Erzeugen Sie das Projekt (Projekt > <Projekt> erzeugen).
- Ö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).
- 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.)
- 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; }
- 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\21.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
- Erstellen Sie den Pfad \Debug\Win32.
- Führen Sie die Datei Build.bat aus.
- 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:
- Erstellen Sie eine Stapeldatei, Preprocess.bat, mit dem folgenden Inhalt:
SET RADSTUDIO_PATH=C:\Program Files (x86)\Embarcadero\Studio\21.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.
- Führen Sie die Datei Preprocess.bat aus.
- Sehen Sie sich die Datei File1.tmp (die erzeugte Datei) an.