C/C++ programmieren unter MacOS

  • Natürlich kann man unter MacOS C/C++ programmieren. Ich selbst habe ein iBook, bezweifle aber stark dass es am MacBook anders sein wird. Grafische Applikationen in C++ zu schreiben (falls du das überhaupt vor hast) ist aber etwas umständlich, da Apple die dazu notwendige Cocoa-API aus für mich unerklärlichen Gründen für Objective C ausgelegt hat.

    Es gibt da so eine Entwicklungsumgebung namens "XCode", die ich aber nicht besonders gut finde (unzählige einzelne Fenster, teilweise unintuitive Bedienung, die Projektassistenten erzeugen oft unerklärlichen Output, etc.). Deshalb verwende ich direkt den g++ in der Commandline.

    Ich weiß nicht genau was man in Sysprog alles machen muss, weil ich es selbst nicht machen musste, aber ANSI C geht jedenfalls. Eclipse sollte laufen, da es soweit ich weiß ein Java-Programm ist (kann mich aber irren, ich selbst verwende Eclipse nicht).

  • Eclipse läuft und die Sysprog-Libraries (Semaphore, Sequencer, Eventcounts) lassen sich unter Mac OS X auch installieren. Ich hab XCode verwendet, ist für größere Sachen vielleicht wirklich nicht optimal, für Sysprog reichts aber allemal. ;)
    Der gcc installiert sich mit der Installation von XCode auch gleich mit.

  • Grafische Applikationen in C++ zu schreiben (falls du das überhaupt vor hast) ist aber etwas umständlich, da Apple die dazu notwendige Cocoa-API aus für mich unerklärlichen Gründen für Objective C ausgelegt hat.


    Wer grafische Applikationen in C++ schreiben will, verwendet bei klarem Verstand sowieso Qt. Mit dem zusätzlichen Vorteil, dass nicht nur die Programmierschnittstelle die eindeutig bessere ist, sondern die Applikation dann perfekt mit MacOS UND Linux UND Windows läuft.

    Macht für Sysprog natürlich keinen Unterschied.

    "Egbert B. Gebstadter is the Egbert B. Gebstadter of indirect self-reference." - Egbert B. Gebstadter

  • Wer grafische Applikationen in C++ schreiben will, verwendet bei klarem Verstand sowieso Qt. Mit dem zusätzlichen Vorteil, dass nicht nur die Programmierschnittstelle die eindeutig bessere ist, sondern die Applikation dann perfekt mit MacOS UND Linux UND Windows läuft.

    Also erstens mal schauen Qt-Apps in Mac OS X in etwa so schrecklich aus wie Swing-Apps (nur ein etwas besseres Ansprechverhalten), und zweitens ist Qt undbrauchbare für kommerzielle Entwicklung (die kommerzielle Lizenz ist sauteuer und einfach unakzeptabel von den Bestimmungen her).

    Ich würd für cross-plattform-Entwicklung SWT empfehlen, oder wxWidgets, wobei ich mir das selber erst mal anschauen müsste, wie einfach das von der Handhabung her ist.

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • Also erstens mal schauen Qt-Apps in Mac OS X in etwa so schrecklich aus wie Swing-Apps (nur ein etwas besseres Ansprechverhalten),


    Sprichst du jetzt von Qt3 oder Qt4? Afaik hat letzteres da einige Verbesserungen erfahren.

    Zitat

    und zweitens ist Qt undbrauchbare für kommerzielle Entwicklung (die kommerzielle Lizenz ist sauteuer und einfach unakzeptabel von den Bestimmungen her).


    Im Vergleich zu einem Entwicklergehalt sind die Lizenzkosten vernachlässigbar, und wer mit der Software Geld macht, holt die Lizenzkosten durch die die Produktivität beim Programmieren mit den Qt-Bibliotheken locker wieder rein. Immerhin wird die kommerzielle Qt-Version auch trotz der Lizenzkosten sehr erfolgreich verkauft, was ebenjenen Punkt dann doch belegt.

    Für Ein-Mann-Teams, die mit Shareware-ähnlicher Software ein bisschen Körbchengeld verdienen, kann ich die Bedenken verstehen. Andererseits finde ich, dass Software dieses Kalibers sowieso Open Source sein sollte, und dass die Firmen ansonsten ruhig was zurückgeben sollen, wenn sie selber Geld machen.

    Zitat

    Ich würd für cross-plattform-Entwicklung SWT empfehlen, oder wxWidgets, wobei ich mir das selber erst mal anschauen müsste, wie einfach das von der Handhabung her ist.


    SWT weiß ich nicht (hab mich nie wirklich damit beschäftigt), ist aber Java und als solches von mir nicht erwähnt worden, weil es explizit um C++ ging. Davon abgesehen hab ich kaum Schlechtes über SWT gehört und nehme an, dass es als GUI-Bibliothek ziemlich ok ist.

    wxWidgets ist ein MFC-Abklatsch und als solcher meilenweit von programmiererfreundlicher Handhabung und hoher Produktivität entfernt. Als Mittel, um ein ursprünglich Windows-only-Programm plattformunabhängig zu machen, ist es in Ordnung, aber wer mit wxWidgets ein neues Projekt anfangt, ist selber schuld.

    "Egbert B. Gebstadter is the Egbert B. Gebstadter of indirect self-reference." - Egbert B. Gebstadter

  • Sprichst du jetzt von Qt3 oder Qt4? Imho hat letzteres da einige Verbesserungen erfahren.

    Qt3 gabs doch für den Mac gar nicht?

    Zitat

    Im Vergleich zu einem Entwicklergehalt sind die Lizenzkosten vernachlässigbar, und wer mit der Software Geld macht, holt die Lizenzkosten durch die die Produktivität beim Programmieren mit den Qt-Bibliotheken locker wieder rein. Immerhin wird die kommerzielle Qt-Version auch trotz der Lizenzkosten sehr erfolgreich verkauft, was ebenjenen Punkt dann doch belegt.

    Das Problem damit ist, dass die Lizenzen an die Entwickler gekoppelt sind, und nicht an den Arbeitsplatz. D.h. wenn du jemanden rausschmeißt, verfällt damit seine Lizenz, und die Firma bekommt nichtmal das Geld zurück (auch eine Art von Jobabsicherung).

    Zitat

    Für Ein-Mann-Teams, die mit Shareware-ähnlicher Software ein bisschen Körbchengeld verdienen, kann ich die Bedenken verstehen. Andererseits finde ich, dass Software dieses Kalibers sowieso Open Source sein sollte

    Und wovon leben diese Einmannfirmen dann? Vom Geld, das sie beim Betteln am Karlsplatz einkassieren?

    Zitat

    und dass die Firmen ansonsten ruhig was zurückgeben sollen, wenn sie selber Geld machen.

    Ja, nur leider muss man das Geld vorfinanzieren, nachdem man ja für Programme, die mit der GPL-Version entwickelt wurden, keine kommerzielle Version mehr lizensieren darf (steht auch drin in den hirnrissigen Lizenzvereinbarungen).

    Zitat

    Davon abgesehen hab ich kaum Schlechtes über SWT gehört und nehme an, dass es als GUI-Bibliothek ziemlich ok ist.

    Also vom Look&Feel her isses von Mac OS X in etwa so weit entfernt wie Windows-Apps (zumindest wenn man sich Azureus anschauen, das ja SWT einsetzt).

    Zitat

    wxWidgets ist ein MFC-Abklatsch und als solcher meilenweit von programmiererfreundlicher Handhabung und hoher Produktivität entfernt.

    Was empfiehlst du dann stattdessen für einen Einmannbetrieb?

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • Qt3 gabs doch für den Mac gar nicht?


    Achja, das ging ja nur mit eigenem X-Server. Tschuldigung.

    Zitat

    Und wovon leben diese Einmannfirmen dann? Vom Geld, das sie beim Betteln am Karlsplatz einkassieren?


    Genau. Oder sie haben tatsächlich Kunden, die für Software-Entwicklung (ursprüngliche Erstellung oder Erweiterungswünsche) zahlen. Ja, Qt hat keine geeignete Lizenz für Nicht-Vollzeit-Programmierer. Aber dieselbigen sind ja frei, andere Frameworks zu verwenden.

    Zitat

    Ja, nur leider muss man das Geld vorfinanzieren, nachdem man ja für Programme, die mit der GPL-Version entwickelt wurden, keine kommerzielle Version mehr lizensieren darf (steht auch drin in den hirnrissigen Lizenzvereinbarungen).


    Ersteres ist ärgerlich, aber durchaus verständlich. Zweiteres halte ich auch für relativ ungut, ist aber ebenfalls verständlich, weil sich dann alle um 3/4 der Lizenzkosten drücken würden.

    Zitat

    Was empfiehlst du dann stattdessen für einen Einmannbetrieb?


    Objective-C mit Cocoa. Niedrigpreis-Mini-Utilities bringt man sowieso nirgendwo anders außer bei Mac-Benutzern an.

    Bei Plattformunabhängigkeit und Aversion gegen Qt bleibt dann eh nur mehr SWT oder gtkmm bzw. gtk# übrig, je nach bevorzugter Programmiersprache. Welche die Mac-Integration nicht wirklich draufhaben. Sprich, es gibt keine Alternative zu Qt, wenn man sowohl Mac-freundlich als auch plattformunabhängig entwickeln will.

    "Egbert B. Gebstadter is the Egbert B. Gebstadter of indirect self-reference." - Egbert B. Gebstadter

  • Genau. Oder sie haben tatsächlich Kunden, die für Software-Entwicklung (ursprüngliche Erstellung oder Erweiterungswünsche) zahlen.

    Solche Superjobs sind leider eher selten. Sich damit über Wasser halten ist unsicherer als Pokerspielen.

    Zitat

    Ja, Qt hat keine geeignete Lizenz für Nicht-Vollzeit-Programmierer. Aber dieselbigen sind ja frei, andere Frameworks zu verwenden.

    Das ist mir klar, leider gibts ja offensichtlich keine anderen Optionen.

    Zitat

    Objective-C mit Cocoa. Niedrigpreis-Mini-Utilities bringt man sowieso nirgendwo anders außer bei Mac-Benutzern an.

    Ok, kenn mich mit Windows nicht so aus. Dass man auf Linux nix mit Shareware verdienen kann ist mir klar.

    Zitat

    Sprich, es gibt keine Alternative zu Qt, wenn man sowohl Mac-freundlich als auch plattformunabhängig entwickeln will.

    Wie bereits erwähnt ist Qt auch nicht Mac-freundlich.

    Naja, glücklicherweise schauts momentan eher danach aus, dass alle meine Windows-Programme mit SDL auskommen sollten, da is das dann nicht so ein Problem.

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • möchte den thread mal auffrischen

    bin noch neu was die handhabung mit mac angeht.

    darum:
    was brauche ich, um auf einem macbook pro c++ zu programmieren?


    habe schon etwas gesucht. eclipse mit cdt-plugin, aber das plugin gibts nur für ppc - macht das was?
    xcode & developer tools installieren? oder woanders den compiler nehmen?

    sonst für alternativen wäre ich dankbar

  • was brauche ich, um auf einem macbook pro c++ zu programmieren?

    xcode

    Zitat

    habe schon etwas gesucht. eclipse mit cdt-plugin, aber das plugin gibts nur für ppc - macht das was?

    Ja, die Java-VM ist Intel-basiert und braucht daher Intel-basierte Binaries. Pure Java ist kein Problem selbstverständlich.
    Aber das ist auch nur eine IDE und kein compiler.

    Zitat

    xcode & developer tools installieren? oder woanders den compiler nehmen?

    Wo anders wirst ihn kaum herbekommen.

    Zitat

    sonst für alternativen wäre ich dankbar

    Als IDE kannst so ziemlich alles verwenden, was Text editieren kann. Vielleicht kannst du dich ja mit xcode anfreunden, das ist halt eher C++-feindlich (weil C++ am Mac nicht sehr populär ist). Eclipse sollte auch irgendwie gehen, sonst in Kombination mit Makefiles gibts noch TextMate, BBEdit, vim, emacs, Smultron, etcetcetc

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!