C++0x auf Mac ohne Klimmzüge?



  • Hallo,

    ich probiere gerade ein paar C++0x features aus, speziell die lambda-Funktionen und std::thread.

    Für den produktiven Einsatz stellt sich mir die Frage nach der tatsächlichen Plattformunabhängigkeit.

    Unter Linux liefert gcc 4.5 alles, was ich mir wünsche. Unter Windows unterstützt MSVC2010 auch alles, was ich brauche.

    Aufm Mac hingegen sieht's derzeit echt düster aus. Seitens Apple ist die letzte gcc-version 4.2, wo keinerlei C++0x support drin ist. Und wie die Sache aussieht, war 4.2 auch der letzte gcc für Mac, da Apple ja großflächig auf llvm/clang umstellt. Wenn ich aber auf http://clang.llvm.org/cxx_status.html#cxx0x schaue, kommt keine Freude auf: Genau ein Feature ist komplett grün, und das ist der "long long" support. Tolle Wurst.

    Natürlich weiß ich, dass es MacPorts gibt (und damit neuere gcc-versionen).

    Meine Frage ist aber, ob es eine Möglichkeit gibt, C++0x software für Mac zu kompilieren und zu shippen, ohne dass der user auf obskure Paketquellen wie Macports angewiesen ist. Oder irgendwelche komischen Libraries braucht.
    Für den durchschnittlichen Apple-nutzer ohne Linux/BSD-Hintergrund ist Macports definitiv "obskur".

    Gruß,
    Philipp



  • PhilippM schrieb:

    Meine Frage ist aber, ob es eine Möglichkeit gibt, C++0x software für Mac zu kompilieren und zu shippen, ohne dass der user auf obskure Paketquellen wie Macports angewiesen ist. Oder irgendwelche komischen Libraries braucht.
    Für den durchschnittlichen Apple-nutzer ohne Linux/BSD-Hintergrund ist Macports definitiv "obskur".

    Nimm lieber fink oder MacPorts in Kauf als die Herumbastelei, der Du Dich ohne die beiden aussetzt.

    http://forums.macrumors.com/showthread.php?t=720035

    Ist dann halt besonders praktisch, weil Du Dein System nicht mit irgendwelchem Schrott zumüllst, sondern nur ein Verzeichnis löschen musst, um den Ursprungszustand wiederherzustellen. Und Updates sind natürlich ebenfalls sehr bequem.





  • Anleitung für GCC 4.5 für Copy & Paste, gerade selbst ausprobiert (Quelle aus dem vorigen Post):

    curl -O http://psbmini.ucsc.edu/fink_intel_10.6_64bit_sw/sw_fink_64bit_baseinstall.tgz  
    tar xvfz sw_fink_64bit_baseinstall.tgz
    sudo mv sw  /
    source /sw/bin/init.sh
    fink selfupdate
    fink -y update-all
    fink scanpackages
    fink -y install gcc45
    


  • Und wenn ich damit kompiliert habe, kann der Nutzer das binary dann benutzen, ohne selbst macports installieren zu müssen? Oder muss der sich dann eine metrische Tonne Libraries runterladen?

    Philipp



  • MacPorts ist dafür völlig uninteressant, die libstdc++ oä. ist spannender – völlig unabhängig davon, wie Du die GCC installierst.

    Im Zweifelsfall kannst Du die aber natürlich mitausliefern oder statisch linken oder was auch immer. Wie gesagt: Wenn das nötig ist, dann ist es das sowieso mit MacPorts wie ohne.


Anmelden zum Antworten