Ich starte ein Open-Source-Cross-Plattform-Projekt in C ++. Meine Entwicklungsumgebung ist Linux. Es kann andere Entwickler geben, die sich auch von verschiedenen Plattformen entwickeln. Daher brauche ich Hilfe beim Einstieg in die Konfigurations- und Entwicklungsumgebung, damit alle Entwickler von mehreren Plattformen problemlos entwickeln können.
Hier sind meine Fragen
Irgendwelche Gedanken?
Bearbeiten
Danke für die Antworten. Noch eine Frage.
Erstellen Sie Makefiles von Hand? Oder gibt es irgendein Werkzeug, das es erzeugen kann?
Das Wichtigste für Ihr Projekt ist die Portabilität. Es sollte einfach sein, & Amp; Lauf für alle.
GCC (g ++) ist in der Tat der Compiler der Wahl. Es kommt aus der Open-Source-Welt und wird daher am weitesten verbreitet.
Allerdings wird ein einfaches Makefile es nicht schneiden . Die Generierung mit CodeBlocks oder einer anderen IDE hat ein Problem: Aufgrund ihrer Plattform werden andere Entwickler wahrscheinlich eigene generieren müssen, aber nicht unbedingt CodeBlocks zur Hand haben oder einfach nicht verwenden wollen.
>Es gibt mehrere verschiedene plattformübergreifende Build-Systeme, die IDE-agnostisch sind. Einige von ihnen erstellen Makefiles, andere verwenden make nicht, sondern bauen sie selbst auf.
Bearbeiten: um mit Ihrem Open-Source-Projekt anzufangen, empfehle ich auch dieses Buch von Karl Fogel (verfügbar um online zu lesen). Viel Spaß!
Der GNU C ++ Compiler ist eine relativ gute Wahl für plattformübergreifende Arbeit, außer dass unter Windows nur eine relativ alte Version (3.4) nativ unterstützt wird. Es ist in Arbeit, eine 4.x-Serie nach Windows zu portieren, aber bis jetzt ist es noch nicht fertig für die Primetime.
Anstatt sich auf den zu verwendenden Compiler zu konzentrieren, konzentriere ich mich stattdessen auf die zu verwendende Sprache. Das Schreiben des ANSI-Standards C ++ wird einen großen Beitrag dazu leisten, dass Ihr Code crossplatform wird. Verbergen Sie plattformspezifisches Verhalten so weit wie möglich hinter einem guten Toolkit wie Qt.
Bei plattformübergreifenden Build-Umgebungen hängt dies möglicherweise davon ab, welches Toolkit Sie verwenden. Qt hat QMake, was relativ gut ist. CMake ist eine andere zwingende Wahl. Ich würde Autotools vermeiden, da es außerhalb von UNIX sehr schlecht portabel ist - mit Autotools auf Win32 ist sehr oft die Qual der Verdammten.
Beginnen Sie abschließend mit der Arbeit an mehreren Plattformen . VMware ist für so etwas von unschätzbarem Wert. Erhalte deinen Code für die Kompilierung unter Linux, unter FreeBSD und unter Windows. Wenn Sie diese drei Ziele treffen können, wird der Wechsel zu anderen Plattformen in Zukunft wesentlich einfacher.
Abhängig von den spezifischen Plattformen kann Qt die Antworten enthalten. Vor allem mit der neuen Lizenz.
Hier ist ein Buch, um alle Ihre Fragen zu beantworten. Plattformübergreifende Entwicklung in C ++: Erstellen von Mac OS X-, Linux- und Windows-Anwendungen
Compiler: Ich plane g ++ zu benutzen und höre, dass es plattformübergreifend ist. Ist das eine gute Wahl?
Ja, aber welche Version? Haben Sie eine Liste bekannter Probleme für die Version, die Sie verwenden werden?
Dateien erstellen: Ich habe den Code :: Blocks-Editor gesehen und er generiert make-Dateien on fly und Sie müssen nicht manuell eine schreiben. Ist dies die beste Vorgehensweise oder muss ich Make-Dateien erstellen?
Eine klassische Wahl. Sie müssen sie wahrscheinlich optimieren, wenn das Projekt wächst.
Welche weiteren Einstellungen sind bei der Entwicklung von plattformübergreifenden Anwendungen zu beachten?
Ein g ++ / makefile-Port ist für jede wichtige Plattform verfügbar. Sobald Sie also sichergestellt haben, dass Sie keine plattformspezifische API oder kein Konstrukt verwenden, sollten Sie gut gehen können.
Was ist mit den folgenden?
Vielleicht möchten Sie sich auch dieses Buch ansehen:
Ссылка alt text http://ecx.images-amazon.com/images/I/51gys5zbr4L._SL500_AA240_. jpg
Tags und Links c++ compiler-construction open-source makefile