Cygwin Pendant für Mac OS X gesucht



  • Hallo zusammen,

    ich hab folgendes Problem:

    Ich hab hier ein Programm, welches für Windows, Linux und Mac OS X compiliert werden soll (C++). Als Buildrechner dient eine Windows Maschine. Daher ist der Windows Build auch kein Problem. Den Linux Build kann man via Cygwin erstellen. Wie jedoch kann ich unter Windows einen Mac OS (X) Build erstellen?

    Ich weiß, dass Mac OS ein Unix "Derivat" ist, allerdings weiß ich auch, dass Mac OS ein anderes Binärformat verwendet als Linux, somit dürfte Cygwin für den Mac OS Build schon mal weg fallen.

    Kennt jemand von euch Alternativen? Oder muss ich in die Produktion wirklich einen zweiten (Mac OS) Rechner hängen?



  • Das verstehe ich nicht.
    Cygwin ist doch nur ein Unix Layer ueber der WinAPI...

    Der GCC kann aber direkt fuer Linux und OS X cross compilen.



  • Du kannst mit Cygwin kein Linux-Binary bauen. Mit Cygwin baust Du Cygwin Binaries, die nur unter Windows mit Cygwin laufen.

    Auf Windows ein Linux-Binary zu erzeugen ist sicher technisch machbar, aber weit aufwändiger, als ein Linux zu installieren und dort zu bauen. Das gleiche gilt für Mac OSX.

    Ein anderes Problem ist die Kompatibilität der Linux Distributionen untereinander und sogar die verschiedenen Plattformen, auf denen Linux lauffähig ist. Wenn Du ein Ubuntu auf x86 installierst, kannst Du für diese Ubuntu-Version x86-Binaries bauen. In der Regel wird das Programm auf anderen Distributionen oder selbst auf einer anderen Ubuntu-Version nicht laufen.

    Dann gibt es noch Linux für die verschiedensten Prozessoren. Beispielsweise gibt es Linux für Sparc-Prozessoren. Da werden keine Binaries laufen, die unter x86 compiliert wurden und umgekehrt.



  • Hmm, also wie jetzt? Kann ich mit Cygwin unter Windows keine Linux/Mac OS Binaries erstellen sondern nur Windows Binaries die halt unter Cygwin ausgeführt werden?

    Zum Thema "Verschiedene Linux Distributionen". Das ist schon genau spezifiziert auf welchen Linux Distributionen das Programm laufen soll 🙂



  • Ok, habs gerade getestet, der GCC wirft unter Cygwin tatsächlich eine .exe aus die ich nur mit der cygwin.dll starten kann 😞

    Na ok, welchen Weg würdet ihr dann einschlagen? Für jede Plattform eine eigene Buildmaschine aufsetzen oder versuchen nen Crosscompiler zu basteln?



  • Definitiv ersteren Weg, das wird viel billiger und zuverlässiger. Zum Testen brauchst Du dann das andere OS auch noch.

    Ein GNU/Linux kostet Dich ja nichts, das kannst Du notfalls auch in einer Virtual Machine installieren. Und für MacOS X kaufst Du Dir eben einen MacMini, kostet so um die 600€ neu.



  • OK, dann vielen Dank für eure Hilfe!



  • natürlich kann man mit cygwin auf win binaries für linux und mac erzeugen.
    du brauchst dazu eben entsprechende toolchains und nen cross-compiler.
    das ist ne gängige methode.

    alternativ kann man auch mingw benutzen.

    einfach ma ein wenig rumgooglen.



  • Möglich ist es wohl schon, aber vom Aufwand her eher nicht sinnvoll. Wir haben uns jetzt geeinigt in die Produktion einen Mac Rechner zu hängen auf dem in einer VM Windows und Linux läuft.


Anmelden zum Antworten