Mit Cygwin Linux Konsolenapp unter Windows nutzen?



  • Ich schreibe ein konsolenprg. unter linux, welches auch unter windows (2k/xp) in der kommandozeile funktionieren soll. (mit gcc). ich nutze u.a. die STL und die commonC++.
    jedoch kenne ich mich mit den windows-spezifischen funktionen nicht aus, daher kompiliert und laeuft der code "nur" unter linux.

    meine idee ist daher, die linux-konsolenapp statisch zu linken und dann mit cygwin auch unter windows starten zu koennen.

    Jedoch scheint es notwendig, erst eine umfangreiche cygwin installation vorzunehmen, was fuer einen drittanwender aus meiner sicht zu aufwendig ist.

    Frage: hat jemand erfahrung mit cygwin? (oder eine alternative idee?)



  • Als alternative kannst du MinGW in Betracht ziehen. Vorteil ist hier eben der, dass hauptsächlich auf Windows libs zurückgegriffen wird.

    Aus der Beschreibung:

    MinGW: A collection of freely available and freely distributable Windows specific header files and import libraries combined with GNU toolsets that allow one to produce native Windows programs that do not rely on any 3rd-party C runtime DLLs.

    Das Ganze gibt es unter
    http://www.mingw.org/

    /Dirk



  • Zum Erstellen der Cygwin-App. brauchst du die komplette Installation. Laufen kann das Programm aber ohne - lediglich die entsprechenden DLLs, die die Unix-/Posix-Umgebung bereitstellen, muss der Anwender haben. Diese stehen in "Cygwin\bin\".

    Martin

    PS.: Ausprobiert auf einem System ohne Cygwin-Installation habe ich das aber noch nicht.



  • wenn du nur die Standard Library und CommonC++ benutzt, dann brauchst du kein Cygwin! Dann kannst du das Programm auch so unter Windows übersetzen (nur CommonC++ muss eben installiert sein)

    meine idee ist daher, die linux-konsolenapp statisch zu linken und dann mit cygwin auch unter windows starten zu koennen.

    das geht so nicht, da brauchst du schon ein recompile. Selbst bei Cygwin



  • kingruedi schrieb:

    wenn du nur die Standard Library und CommonC++ benutzt, dann brauchst du kein Cygwin! Dann kannst du das Programm auch so unter Windows übersetzen (nur CommonC++ muss eben installiert sein)

    meine idee ist daher, die linux-konsolenapp statisch zu linken und dann mit cygwin auch unter windows starten zu koennen.

    das geht so nicht, da brauchst du schon ein recompile. Selbst bei Cygwin

    Kannst Du das an einem beispiel makefile und einem beispiel c++ prg zeigen?



  • Belgarad schrieb:

    ...
    Kannst Du das an einem beispiel makefile und einem beispiel c++ prg zeigen?
    ...

    Sorry da habe ich wohl erst geschrieben und dann nachgedacht.

    ich frage daher einfach andersherum:
    ich muesste also wie folgt vorgehen:
    1.) g++ auf w2k installieren.
    2.) CommonC++ src unter w2k mit g++ compilieren und libs erstellen.
    3.) meine applikation unter w2k mit g++ compilieren.
    4.) meine applikation unter w2k gegen die neu erstellten CommonC++ libs linken.

    ist das so richtig?



  • jo 👍


Anmelden zum Antworten