Suche eine portable Version des gcc für Windows



  • Da läst sich sicher was basteln, wenn nichts verfügbar ist.

    Ein Stichwort: relativer und absoluter Pfad in Batch-Dateien oder Scripten -
    da sollte schon einiges automatisch gehen.

    MfG f.-th.



  • Der MinGW ist wohl zur Zeit nicht mehr verfügbar.

    Aber ich hab da noch die alte DEV-IDE gefunden habs jetzt nicht getestet -
    meist ist da ein nicht ganz junger MinGW dabei.
    http://sourceforge.net/project/showfiles.php?group_id=190331&package_id=223332

    MfG f.-th.



  • Code::Blocks geht auch auf USB:
    http://www.codeblocks.org/docs/main_codeblocks_dech1.html

    Abschnitt 1.10.4

    MfG f.-th.



  • Hab jetzt auch den gcc 4.3.0 mit relativen Pfaden unter dem
    SciTE grob getestet.
    Wenn das einmal eingerichtet ist - ein Klick auf eine Batch
    auf dem Stick und das Ganze inclusiv der Pfade ist bereit.

    MfG f.-th.



  • f.-th. schrieb:

    Hab jetzt auch den gcc 4.3.0 mit relativen Pfaden unter dem
    SciTE grob getestet.
    Wenn das einmal eingerichtet ist - ein Klick auf eine Batch
    auf dem Stick und das Ganze inclusiv der Pfade ist bereit.

    MfG f.-th.

    Sei doch so lieb und zip das ganze und lade es bei sourceforge.net hoch 🙂



  • Den SciTE 1.77 findet ihr im Netz 😉
    Auf dem Stick z.B. in SciTE ablegen
    Bei dem die Datei cpp.properties folgende Zeilen ändern:

    ccopts=-pedantic -Os
    #cc=g++ $(ccopts) -c $(FileNameExt) -o $(FileName).o
    cc=g++ $(ccopts) -o $(FileName) $(FileNameExt)
    #ccc=gcc $(ccopts) -c $(FileNameExt) -o $(FileName).o
    ccc=gcc $(ccopts) -o $(FileName) $(FileNameExt)
    
    make.command=make
    command.compile.*.c=$(ccc) -std=c99
    command.build.*.c=$(make.command)
    command.go.*.c=./$(FileName)
    # To make the Go command both compile (if needed) and execute, use this setting:
    #command.go.needs.*.c=gcc $(ccopts) -std=c99 $(FileNameExt) -o $(FileName)
    

    Es sind nur 2 Zeilen. Die anderen sind nur zur Orientierung.

    Den gcc 4.3.x herunterladen und auf dem Stick z.B. ins
    Verzeichnis gcc430 installieren

    Anschließend eine Batch-Datei im "Basisverzeichnis" des Sticks erstellen mit
    folgenden Zeilen:

    SET PATH=.\mingw\include;.\gcc430\lib\gcc\mingw32\4.3.0\include\c++;.\gcc430\bin;D:\gcc430\lib;.\gcc430\lib\gcc\mingw32\4.3.0;%PATH%
    
    \SciTE\WsciTE\SciTE.EXE
    

    Und das Ganze starten. Das ist es fast 😉

    Weil, wenn ich das richtig verstanden hab, die Header nicht mehr "alle" beim
    gcc 4.3.x beigepackt werden hab ich noch die aktuellste Version die ich im
    Netz finden konnte unter MinGW installiert.
    Die Headergeschichte ist nur bei Win... relevant - bei Linux gibt es passende
    Packete.

    Bei den neueren Windows kann ein Script die Funktion der Batch ersetzen.

    Wenn da jemand mehr Durchblick hat, ergänzen 😉
    Das ist sicher noch zu optimieren.

    Ach ja, hab es noch nicht getestet, der Code::Blocks soll schon für den
    gcc 4.3.x vorbereitet sein.

    MfG f.-th.



  • f.-th. schrieb:

    Die Headergeschichte ist nur bei Win... relevant - bei Linux gibt es passende
    Packete.

    meinst du die Geschichte mit den optimierten impliziten #includes, bei denen der 4.3 in manchen Programmen strlen() nicht mehr kennt, wo es mit 4.1 noch funktioniert hat? würde mich interessieren, wie man das hinkriegt, ohne die fraglichen #includes in älterem Code abzuändern.



  • ich habe das Problem nämlich jetzt schon bei zwei Programmen aus der 4.1-Zeit, und zwar unter llnux 🙄



  • Bin jetzt nicht so firm wie andere hier aus dem Forum.

    Wenn ich das Ganze mit den Headern richtig verstanden hab,
    wurden ab einer bestimmten Version aus rechtlichen Vorbehalten
    die bis dahin verwendeten C-Header ( mit .h ) nicht mehr mit
    ins das GCC-Packet gepackt. Abhilfe nahmen einige Programmierer
    dann mit einem alternativen Header-Packet unter Linux, welches
    dummerweise ein paar Jahre älter ist ( ? ). Unter Windows gibt
    es ein solches Packet meines Wissens aber gar nicht.

    Es soll aber andere Projekte geben, die den gcc 4.3 nutzen und
    die mit entsprechenden Headern im Packet im Netz unter Linux
    zur Verfügung stehen sollen. Müsste da aber selbst erst suchen.

    Will hoffen das ich das jetzt richtig verstanden hab. Oder
    besser fürs Programieren wär natürlich anders.

    MfG f.-th.



  • So noch mal ein wenig nachgesehen:
    http://gcc.gnu.org/gcc-4.3/porting_to.html
    und
    http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch03s02.html

    Hab schon mal gesucht aber die Seiten nicht gefunden sondern nur
    die Klimmzüge anderer User 😡 Ich hatte einen solchen Schnitt
    nicht erwartet, deshalb war ich auch für diese Klimm... empfänglich.

    Werde mich damit wohl beschäftigen.

    MfG f.-th.



  • ich frage mich eben, ob es eine bessere Lösung gibt, als gemäß den "porting to 4.3"-Empfehlungen "if missing ... then include this header" Prä-4.3 Code abzuändern. Vielleicht einen Compiler switch oder irgendein Trick? Ich habe wirklich wenig Lust, sämtlichen fraglichen Prä-4.3-Code auf implizite #includes abzuklopfen, die bei 4.3 nicht mehr automatisch mit-includiert werden, und ggf. abzuändern.


Anmelden zum Antworten