Visual C++-Kommandozeilencompiler als eigenständige Anwendung



  • Ich hab mir folgendes gedacht und würde von Euch gerne erfahren, ob das funktioniert:

    Ist es möglich, den Kommandozeilencompiler von Visual C++ 2005 oder 2008 Express Edition und die entsprechenden Bibliotheksdateien irgendwo auf eine CD zu brennen und ihn dann als Standalone-Anwendung zu benutzen, die man nicht installieren muß?

    Falls das geht, müßte ich noch wissen, welche Ordner bzw. Dateien dafür notwendig sind. Schon allein das PSDK ist ja mehrere hundert Megabyte groß. Wenn man aber bedenkt, daß der MinGW es schafft, weniger als 50 MB zu verbrauchen, obwohl man auch dort mit WinAPI-Bibliotheken arbeiten kann, sollte man meinen, daß das meiste, das bei Visual C++ und dem PSDK dabei ist, für die reine Kommandozeilenkompilierung nicht gebraucht wird.

    Was also brauche ich und was kann ich löschen, wenn ich den Kommandozeilencompiler (und den Linker und den Ressourcencompiler etc.) als Anwendung, die auf jedem Computer ohne Installation läuft, benutzen will?



  • Warum willst Du das?
    Hast Du die EULA gelesen, ob Du dies darfst was Du machen willst (nämlich den Compiler "verteilen")?



  • Jochen Kalmbach schrieb:

    Warum willst Du das?

    Um überall schnell mal programmieren zu können, ohne Visual Studio installieren zu müssen.

    Jochen Kalmbach schrieb:

    Hast Du die EULA gelesen, ob Du dies darfst was Du machen willst (nämlich den Compiler "verteilen")?

    Wen interessiet's? Es geht doch niemanden was an, auf welchem Medium ich den Compiler habe.



  • das geht! ich mache es mit codeblocks und dem vc-7.1 toolkit so.

    den vc-7.1 toolkit ordner habe ich als "globale variable", relativ zu codeblocks, definiert:
    http://img150.imageshack.us/img150/2743/cbvc71variablenq0.jpg

    vom psdk habe ich die lib und include ordner genommen, umbenannt und in den vc-7.1 toolkit ordner kopiert und unter codeblocks als generell verfügbare ordner eingestellt: http://img384.imageshack.us/img384/351/vc71cbsettingsph0.jpg

    in den bin ordner vom vc-7.1 toolkit habe ich cvtres (zum resourcen einbinden) und nmake mit nötigen dlls aus dem psdk und den debugger mit nötigen dlls aus den "debugging tools for windows" gepackt, so dass der inhalt des bin ordners wie folgt aussieht:
    http://img380.imageshack.us/img380/6028/vc71binwz9.jpg

    das ist wirklich sehr praktisch! jetzt kann ich überall mit vc programmieren und debuggen, ohne was installieren zu müssen. vc-7.1 habe ich übrigens gewählt, weil er performanteren code generiert als die neueren vc compiler.



  • Danke für die Bestätigung, daß es funktioniert. Trotzdem habe ich noch eine Frage: Sind der Include- und Lib-Ordner jetzt nicht riesig groß? Ich frage, weil selbst die H-Dateien des PSDK ziemlich viel Platz wegnehmen. Der MinGW schafft es nämlich irgendwie, für WinAPI-Header und Libs nur 13,8 MB zu vebrauchen.

    Noch etwas anderes, und manch einer wird nun vielleicht wieder die Augen verdrehen:
    Ich habe das Visual C++-Toolkit auf einem Windows XP-PC installiert und den gesamten Ordner auf Windows 98 kopiert und dort in den Programme-Ordner gepackt. Dort hab ich dann die Datei vcvars32.bat entsprechend angepaßt von

    Set PATH=C:\Programme\Microsoft Visual C++ Toolkit 2003\bin;%PATH%
    Set INCLUDE=C:\Programme\Microsoft Visual C++ Toolkit 2003\include;%INCLUDE%
    Set LIB=C:\Programme\Microsoft Visual C++ Toolkit 2003\lib;%LIB%
    

    zu

    Set PATH="C:\Programme\Microsoft Visual C++ Toolkit 2003\bin";%PATH%
    Set INCLUDE="C:\Programme\Microsoft Visual C++ Toolkit 2003\include"
    Set LIB="C:\Programme\Microsoft Visual C++ Toolkit 2003\lib"
    

    Nun öffne ich die Eingabeaufforderung und rufe vcvars32.bat auf, um die Werte zu setzen.
    Als nächstes kommt ein Test-Compileraufruf:

    cl
    

    und

    cl /?
    

    funktionieren korrekt. Obwohl also das Setup nur für Windows 2000 und höher gedacht ist, scheint der Compiler selbst auch unter Windows 98 zu funktionieren. Doch wenn ich jetzt versuche, Quellcode zu kompilieren, kommt folgender Fehler:

    C:\WINDOWS\Desktop>cl Test.cpp
    Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
    Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
    
    Test.cpp
    c1xx : fatal error C1083:
    

    Und nun meine Frage: Woran liegt's? Was muß ich noch anpassen, damit das ganze auch unter Windows 98 läuft?



  • MinGW schafft es nämlich irgendwie, für WinAPI-Header und Libs nur 13,8 MB zu vebrauchen.

    Das liegt vermutlich daran dass die MinGW Distro nur Headers/Libs für einen kleinen Bruchteil der unter Windows verfügbaren APIs mitbringt, das PSDK wesentlich mehr.
    Diff' die Verzeichnisse doch mal gegeneinander.

    Und schmeiss ggf. den ganzen x64 und I64 Quargel raus der beim PSDK dabei ist.


Anmelden zum Antworten