wake-up-neo.com

Befehlszeile mit cl.exe kompilieren?

Ich versuche, den C++ - Compiler von Visual Studio Express 2010 ohne die IDE zu verwenden. Ich habe cl.exe in C:\Programme (x86)\Microsoft Visual Studio 10.0\VC\bin gefunden. Allerdings habe ich einige Schwierigkeiten. Erstens gab es eine Warnmeldung, wenn cl eingegeben wurde: Programm kann nicht gestartet werden, weil mspdb100.dll auf Ihrem Computer fehlt.

Also füge ich C:\Programme (x86)\Microsoft Visual Studio 10.0\Common7\IDE zum Systempfad hinzu und versuche es erneut, aber diesmal

fataler Fehler C1510: Sprachressource clui.dll kann nicht geladen werden. 

Irgendeine Idee, wie man dieses löst, damit ich kompilieren kann? Wie würde ich auch den Pfad einrichten, damit ich einfach 'cl main.cpp' usw. in einem Lösungsordner eingeben kann, der keine cl.exe enthält. Im Moment muss ich im Ordner bin sein. Vielen Dank. 

35
Daniel Gratz

Starten Sie die Visual Studio-Eingabeaufforderung von 

Start->
    All Programs ->
        Microsoft Visual Studio 2010 ->
            Visual Studio Tools ->
                Visual Studio Command Prompt 2010

Alternativ können Sie die Umgebung einrichten, indem Sie diese in einer Eingabeaufforderung ausführen:

"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86

(Hinweis: Dadurch wird Ihre Umgebung nach dem Ausführen eingerichtet.)

(Hinweis2: x86 nach Wunsch ändern. Optionen sind x86, ia64, AMD64, x86_AMD64, x86_ia64)

Von dort können Sie cl.exe ausführen. Wenn Sie möchten, dass dies automatisch ausgeführt und rückgängig gemacht wird, wenn Sie cl ausführen, erstellen Sie eine Stapeldatei mit folgendem Inhalt:

@echo off
%comspec% /c ""c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 && cl.exe %*"

(/c weist die Eingabeaufforderung an, die Sitzung nach Ausführung dieses Befehls zu beenden, sodass Ihre Umgebung wieder normal ist.)

Nennen Sie es von dort cl.bat. Legen Sie dies in einem Ordner an einem beliebigen Ort ab, und fügen Sie der PATH-Umgebungsvariable den Pfad zu diesem Ordner hinzu. Stellen Sie sicher, dass er vor dem Pfad zu cl.exe steht, damit dieser cl.bat ausgeführt wird, wenn Sie cl anstelle von cl.exe eingeben. 

Ich empfehle, dass Sie einfach cl.bat in Ihrem system32/-Ordner ablegen. Er sollte bei einer Standardinstallation vor dem cl.exe-Pfad stehen. 

Alternativ können Sie es in beliebiger Reihenfolge hinzufügen und geben Sie immer cl.bat ein, oder geben Sie ihm einen anderen Namen, damit keine Verwirrung entsteht.

52
jsvk

Dies ist eine ziemlich einfache und geradlinige Aufgabe. Fügen Sie zunächst den Compilerpfad zum Systempfad hinzu: C:\Programmdateien\Microsoft Visual Studio 10.0\VC\bin; Öffnen Sie anschließend die Eingabeaufforderung und wechseln Sie das Verzeichnis in den Quellordner. Führen Sie dann die Datei vcvars32.bat aus, um die Umgebung für die Verwendung von vc ++ auf x86 einzurichten. Danach können Sie jetzt cl eingeben, um Ihr Programm zu kompilieren

5
Anthony Oyovwe

Ich habe mehrere Versionen von VS installiert. Ich erstelle für jede Version eine kleine .BAT-Datei, die sich irgendwo im Pfad befindet und die entsprechende "vcvarsall.bat" aufruft. z.B. "vc9.bat" ruft vcvarsall.bat für VS2008 auf, während "vc10.bat" vcvarsall.bat für VS2010 aufruft. Ich kann ein normales Befehlsfenster wie gewohnt öffnen, "vc9" eingeben und presto, das Befehlsfenster ist bereit, mit VS2008 usw. zu kompilieren. 

4
DaddyBean

Verwenden Sie einfach vcvarsall.bat als jsvk vorgeschlagen:

"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86

Verwenden Sie anschließend devenv.exe, um Ihre Inhalte zu erstellen, wenn Sie sich vor vielen Kopfschmerzen schützen:

devenv solutionfile.sln /build [ solutionconfig ] [ /project projectnameorfile [ /projectconfig name ] ]

Es gibt viele andere Befehlszeilenschalter, die Sie mit devenv /? überprüfen können.

4
hege

Dieser Fehler tritt auf, wenn der Linker über genügend Arbeitsspeicher verfügt.
Sie können die Visual Studio-Tools der x64-Tool-Architektur verwenden.

msbuild Befehlszeile:

msbuild myproject.vcxproj /p:PreferredToolArchitecture=x64

Oder, noch besser, fügen Sie es den Projekteinstellungen in .vcxproj hinzu.
Um die 64-Bit-Version des Compilers und der Tools anzugeben, fügen Sie der Projektdatei Myproject.vcxproj nach dem Element Microsoft.Cpp.default.props das folgende Eigenschaftengruppenelement hinzu:

<PropertyGroup>  
    <PreferredToolArchitecture>x64</PreferredToolArchitecture>  
</PropertyGroup> 

Mit diesen Optionen verwendet Visual Studio die Tools unter den AMD64-Architekturordnern (je nach Zielarchitektur):
VC\bin\AMD64
VC\bin\AMD64_x86
VC\bin\AMD64_arm 

https://msdn.Microsoft.com/de-de/library/dd293607.aspx

0
Yochai Timmer