Qt4 unter Linux und Win nutzen, wie vorgehen?
-
Also ich hab mir in den letzten Tagen Ubuntu besorgt und seitdem ich unter Ubuntu unterwegs bin, will ich nicht mehr zurück zu MS, jedoch will ich dadrauf trotzdem noch Programme entwickeln, obwohl ich meinen Source-Code nicht so oft umschreiben möchte.
Hab mir Code::Blocks und KDevelop besorgt, mir gefallen beide auch, ich frag mich nur, welcher von beiden besser für Cross-Plattform-Anwendungen geeignet ist.Ich schätz mal Code::Blocks, aber lasse mich eines besseren belehren.
Außerdem werde ich wohl Qt4 demnächst lernen, da es ja jetzt anscheinend auch auf Windows kostenlos für Open-Source-Anwendungen verwendet werden darf.
Meine Frage ist nun, ob Qt4 wirklich eine gute Wahl ist, da es ja noch andere Frameworks wie GTK+/GTKmm und wxWidgets gibt, die auch auf Win und *nix laufen.Am besten will ich ein Framework, welches ein modernes C++ verwendet und mit dem man gut Software entwickeln kann.
Das Problem ist nur, wie sieht es aus, wenn ich Software nur für mich und meine Freunde entwickel, muss ich die dann irgendwo Open-Source anbieten? Oder wie sieht es aus, wenn ich später mal kommerzielle Software entwickeln will, die für einzelne Personen/Firmen extra programmiert wird oder vllt für einige Euro im Netz angeboten wird, würde es sich dann lohnen die Qt4 Lizens zu kaufen, oder bin ich dann besser dran, wenn ich mit einem anderen Framework/API programmiere, welches keine Lizensgebühren für die kommerzielle Nutzung verlangt? Könnte auch auf WinAPI, C++/CLI oder Java zurückgreifen.
(Ahja das mit der kommerziellen Nutzung wäre dann natürlich erst möglich, wenn ich ein Unternehmen gründe, was mir klar ist. Nur zur Info.)
-
Hi!
Also erstmal: QT ist eine ganz tolle Lib für GUI. Eins A C++. guter Stil, super Dokumentation und alles. Hat nur leider einen Haken: Wenn man die damit erstellen Programme weitergeben will (sprich an dritte), musst du den Quellcode rausgeben (wenn auch nur auf Anforderung soweit ich weiß). Oder du kaufst dir eine QT-Lizenz.
Wenn das nicht wäre, würde ich nur noch QT verwenden. Leider hindert mich die Lizenz dran, da ein Programm welches OpenSource ist nun mal schlechter verkauft werden kann
Also bleibt von den drei großen noch wxWIdgets oder GTK/gtkmm übrig. GTK fällt für mich raus, da man für windows eklige runtimepackages installieren muss. Blieb also nur wxWidgets, womit ich aber ganz gut fahre eigentlich.
Als Privatperson lohnt es sich IMHO nicht, eine QT-Lizenz zu kaufen, die kostet sicher so um die 5000Euro, wenn du sie für windows und linux haben willst.Es gibt aber noch andere Toolkits, da musst du mal schauen, gibts hier im forum ne übersicht. Allerdings hast du da das Problem, dass die doku oft nicht so gut ist und der support auch nicht (weils kein anderer benutzt).
-
Ich persönlich kann nur Gtkmm empfehlen. Im Gegensatz zu Qt verwendet es keine Macros und Spracherweiterungen. Auch kannst du es kommerziell uneingeschränkt nutzen, da es unter der LGPL steht (http://www.gtkmm.org/license.shtml).
Was die IDEs angeht: von denen wird wohl kaum die Plattformunabhängigkeit (deines Codes) abhängen. Code::Blocks hatte aber afair die Möglichkeit mehre Targets für unterschiedliche Plattformen anzulegen.
Vielleicht solltest du auch in Betracht ziehen Makefiles zu verwenden. Die funktionieren bei mir sogar unter Windows ohne Probleme. Hier müsstest du lediglich die Dateiendungen der Executables (.exe) und der Shared Libraries (.dll/.so) anpassen. Ich verwende z.B. fast bei jedem Projekt die hier: http://www.c-plusplus.net/forum/viewtopic-var-t-is-88418.html
Leicht anzupassen und funktioniert super.
-
Ja hab mir auch schon gedacht wxWidgets oder GTKmm zu verwenden, aber wie schon gesagt wurde werden bei GTK die Runtimes benötigt und bei wxWidgets fehlen soweit ich informiert bin die Ausnahmen und Templates, ist das ein großer Nachteil oder kann man damit leben?
Würde wahrscheinlich auch eins von den beiden als Zwei-Framework nehmen, jedoch kann ich mich echt nicht entscheiden, welches besser für mich geeignet ist.
Zu der Makefile, mit Makefiles hab ich bisher noch keine Erfahrung gesammelt, jedoch wollte/werde ich mir ein paar Informationen dazu besorgen, da ich merke, dass diese kleinen Dateien immer wichtiger für mich werden.
-
Maxi schrieb:
GTK fällt für mich raus, da man für windows eklige runtimepackages installieren muss. Blieb also nur wxWidgets, womit ich aber ganz gut fahre eigentlich.
QT-N00B schrieb:
aber wie schon gesagt wurde werden bei GTK die Runtimes benötigt
Nun ja, theoretisch könnte man doch eigentlich die ganzen DLLs von Gtk(mm) mit in den Programmordner packen, auch wenn das etwas viel ist (bei mir ca. 50 MB).
Aber ich kann ehrlich gesagt nicht nachvollziehen, was daran so schlimm sein soll, Runtime-Bibliotheken zu installieren. Will man unter Windows eine Anwendung nutzen, die das .NET Framework nutzt, muss ich das halt auch installieren.QT-N00B schrieb:
und bei wxWidgets fehlen soweit ich informiert bin die Ausnahmen und Templates, ist das ein großer Nachteil oder kann man damit leben?
Das musst du schon für dich entscheiden.
-
Naja ich denk, ich lern dann mal mit Qt4 umgehn, dann probier ich noch die anderen beiden aus. Muss ich eigentlich dann was beachten, wenn ich beispielsweise den Source und das Programm auf meiner Webseite veröffentliche?
PS: Hat jemand vllt n Tutorial zu Make-files?
-
QT-N00B schrieb:
Naja ich denk, ich lern dann mal mit Qt4 umgehn, dann probier ich noch die anderen beiden aus. Muss ich eigentlich dann was beachten, wenn ich beispielsweise den Source und das Programm auf meiner Webseite veröffentliche?
Wenn du den Quellcode mit veröffentlichst, sollte das kein Problem darstellen.
QT-N00B schrieb:
PS: Hat jemand vllt n Tutorial zu Make-files?
http://www.gidf.de/makefile+tutorial
http://www.ijon.de/comp/tutorials/makefile.html
-
thx!
kann geschlossen werden.