Guten Morgen, ich bin auf der Suche nach einer C++ Entwicklungsumgebung für Windows GUI Applikationen. C# möchte ich bewusst nicht einsetzen. Was gibt es noch, was gegebenfalls kostenlos ist ?
QT kann ich empfehlen. Gute Tutorials helfen außerdem beim schnellen Einstieg
Leo schrieb: > Was gibt es noch, was gegebenfalls kostenlos ist ? Qt: http://qt.nokia.com/products/developer-tools/ Etwas bloated, aber cross-platform ...
Heutzutage wird immer mehr und mehr Microsoft Visual Studio VB/C# eingesetzt. Aber ich bin damit nicht so begeistert.
Man sollte vielleicht schon Entwicklungsumgebung und verwendete Klassenbibliothek bzw. verwendetes Framework auseinanderhalten. Da der Threadstarter echtes C++ forderte, scheiden .Net-basierte Ansätze aus. Als Klassenbibliotheken bzw. Frameworks kommen potentiell in Frage: - reine Win32-API - MFC - Qt - wxWidgets (Liste erhebt keinen Anspruch auf Vollständigkeit) Die Win32-API ist in der Liste eigentlich fehl am Platze, da sie weder Klassenbibliothek noch Framework ist, und obendrein ist sie, gerade was die GUI-Programmierung angeht, ausgesprochen steinig. Sie ist aber die Grundlage jeder anderen Lösung, da sie und nur sie die Schnittstelle zu Windows darstellt. Sie zu verstehen hilft daher ausgesprochen, wenn man wissen will, warum man an ihrer Statt eine Klassenbibliothek verwenden sollte, und was die Klassenbibliothek so treibt. MFC ist ein alter Klassiker, und Leuten, die noch nie damit gearbeitet haben, würde ich nicht nahelegen, sich damit zu beschäftigen. Sie ist ziemlich schlecht dokumentiert, sehr merkwürdig aufgebaut und alles andere als frei von Fehlern. Obendrein wird sie in Form von GUI-Builder-Werkzeugen nur von den kommerziellen Versionen der MS-Compiler unterstützt. Dafür ist die MFC recht nah an der grundliegenden Win32-API angelegt. Qt und wxWidgets sind plattformübergreifende GUI-Toolkits, die beide noch wesentlich mehr als nur GUI-Funktionen abdecken. Aufgrund der Tatsache, daß sie für etliche Betriebssysteme verfügbar sind, ist der Abstraktionsgrad zur unterliegenden Betriebssystemschnittstelle deutlich höher, in beiden wird man mit nativen Win32-API-Dingen nichts zu tun bekommen. Als Entwicklungsumgebung empfiehlt sich unter Windows das "Visual Studio" in der C/C++-Ausführung. Der enthaltene C++-Compiler ist exzellent, der Debugger ist ebenfalls sehr gut, man muss allerdings beim Anlegen von Projekten aufpassen, nicht doch versehentlich mit dem .Net-Geraffel in Berührung zu kommen. MS hat eine Perversion von C++ herausgebracht, die eben kein C++ ist, aber so ähnlich genannt wird ("C++/CLI" oder früher "Managed C++"). Der ebenfalls enthaltene C-Compiler ist im Gegensatz zum C++-Compiler recht ungepflegt, auch in der neuesten Inkarnation (VS2010) unterstützt er nach wie vor nur C89 ("ANSI-C") und nicht C99. MFC kann nur mit der kostenpflichtigen VS-Variante genutzt werden, der kostenlosen Variante fehlt die erforderliche Unterstützung (Libraries, Header, Quelltexte etc.). Sowohl für wxWidgets als auch Qt existieren entsprechende GUI-Builder, also Werkzeuge, mit denen man die graphischen Oberflächen designen kann. Diese sind dann aber eher weniger in die Oberfläche des Visual Studio integriert.
der Vollständigkeit halber (nicht kostenlos, ..) gibt es noch den http://www.embarcadero.com/products/cbuilder entweder mit VCL (=Nativ Windows) ODER Firermonkey die VCL ist generell recht brauchbar, (allerdings in Pascal geschrieben) falls C++ nicht "MUSS" ist, könntest also auch delphi oder lazarus anschauen..
Um es noch vollständiger zu machen: Windows Template Library http://sourceforge.net/projects/wtl/ Ist aber vielleicht nicht für Einsteiger zu empfehlen.
Für nicht all zu komplizierte Oberflächen empfehle ich da Win32-Api mit Resourcenbasierenden Dialogen, wenn einen die nicht-pixelbasierenden Maßeinheiten nicht stören. Mit MingW + CodeBlocks + ResEdit und C/C++ bekommt man da ziemlich kompakte Programme hin.
Ich würde auch QT empfehlen, arbeite sehr gerne damit. Hat bei mir so angefangen, als ich von der NET Perversion auf reines C(++) umgestiegen bin (hab damals auch Linux entdeckt). Also alleine weil man mit dem: http://de.wikibooks.org/wiki/Qt_f%C3%BCr_C%2B%2B-Anf%C3%A4nger Der Doku von QT (Nokia/Trolltech) und dem QTCreator schon extrem einfach in die Welt der GUIs einsteigen kann. Auch weil QT wie erwähnt nicht nur GUI-Elemente bietet, sondern auch viel mehr, so lassen sich auch komplexe Graphische Aufgaben recht einfach lösen. Das einzig negative ist, dass der Creator leider das Eclipse Plug-In abgelöst hat, ist aber auch nicht so schlimm, der Creator bietet das selbe wie Eclipse (Nachteil ist halt, jetzt hab ich den Creator für PC und Eclipse für AVR...). Das ist Meine Sicht dazu :D MfG
Leo schrieb: > ich bin auf der Suche nach einer C++ Entwicklungsumgebung.. Warum? Ist dir die Verwendung von C++ wichtiger als das Lösen der beabsichtigten Aufgaben? Ich benutze für den PC immer noch Delphi und wenn das mal ab Windows 19 SP9 nicht mehr geht, dann Lazarus. Geht immer noch am elegantesten. Ja, ich weiß aus eigener Erfahrung, daß man da beim uC Programmieren gelegentlich durcheinanderkommt (zwischen Pascal und C im Kopf hin und her schalten..), aber aus meiner Sicht sind eigentlich alle auf C und Nachfolgern basierenden Lösungen ein Krampf nach dem anderen, ob nun Java oder Dotnet oder QT. Immer ist ein riesiger Rucksack an Laufzeit-Systemen nötig. W.S.
W.S. (Gast) schrieb: Leo schrieb: >> ich bin auf der Suche nach einer C++ Entwicklungsumgebung.. > Warum? Ist dir die Verwendung von C++ wichtiger als das Lösen der > beabsichtigten Aufgaben? Frage ich mich auch. > ... aber aus meiner Sicht sind eigentlich alle auf C und > Nachfolgern basierenden Lösungen ein Krampf nach dem anderen, ob nun > Java oder Dotnet oder QT. Immer ist ein riesiger Rucksack an > Laufzeit-Systemen nötig. Den "Rucksack" bei .net siehst du doch bei einem aktuellen Windows gar nicht. Das Zeug gehört zum OS und ist eh geladen. In einem aber gebe ich dir recht. Einer der im Jahre 2012 noch NIE von QT gehört hat (das es sowas noch gibt?! ;-)) sucht sich ausgerechnet C++ aus? C++ lädt ja buchstäblich ein Programmierfehler zu begehen .. Think about!
W.S. schrieb: > Leo schrieb: >> ich bin auf der Suche nach einer C++ Entwicklungsumgebung.. > > Warum? Ist dir die Verwendung von C++ wichtiger als das Lösen der > beabsichtigten Aufgaben? > Ich benutze für den PC immer noch Delphi und wenn das mal ab Windows 19 > SP9 nicht mehr geht, dann Lazarus. Geht immer noch am elegantesten. Ja, > ich weiß aus eigener Erfahrung, daß man da beim uC Programmieren > gelegentlich durcheinanderkommt (zwischen Pascal und C im Kopf hin und > her schalten..), aber aus meiner Sicht sind eigentlich alle auf C und > Nachfolgern basierenden Lösungen ein Krampf nach dem anderen, ob nun > Java oder Dotnet oder QT. Immer ist ein riesiger Rucksack an > Laufzeit-Systemen nötig. Der einzige Unterschied ist, bei Delphi und Qt (wenn statisch gelinkt) schleppt jede Anwendung den Rucksack mit, statt das er zentral für alle gut erreichbar ist (bei Java bringen die Anwendungen auch mal gerne ihre eigenen JREs mit...). Grundsätzlich stimme ich aber zu: C++ für GUI-lastige (außer das Ergebnis ist ein GUI-Toolkit oder z.B. eine Spieleengine) oder allgemeiner für nicht extrem zeitkritische Anwendungen ist Zeitverschwendung, > W.S.
Wenn du kostenlos und minimals haben willst, würde ich dir Codeblocks als IDE, Win32++ als Klassenbibliothek und den Microsoft C++ Compiler (oder ggf. Mingw) empfehlen Ralf
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.