Hallo zusammen!
Ich möchte Programme für GNU/Linux bzw. X und Windows schreiben. Da ich mich seit rund anderthalb Jahren in C++ einlese/-arbeite, dachte ich, dass das die ideale Sprache sei. Aber Pustekuchen: Erstens brauche ich noch zusätzliche Dinge wie GTK oder QT, um fensterln zu können, zweitens muss ich die Programme entweder auch unter DOS/Windows compilieren oder mich mit einem Cross-Compiler herumschlagen.
Im Grunde ist beides zu schaffen. Aber das ist nach meinen Kenntnissen mit einem erheblichen Zeitaufwand verbunden und das schreckt mich so sehr ab, dass ich darüber nachdenke, Windows einfach komplett links liegen zu lassen. Wenn es nur um mich selbst ginge, wäre der Verzicht auf Windows längst kein Thema mehr, weil ich diesen Müll bei mir nicht mal mehr zum Daddeln oder in einem Sandkasten laufen lasse - mit anderen Worten: Windows ist hier nirgendwo installiert (und das soll so bleiben).
Allerdings gibt es Leute, die ich gerne mit Programmen aus meiner Feder beglücken würde und bei diesen Leuten läuft nunmal noch alles Mögliche unter Windows.
Was tun? Vorweg: Ich habe oben zwar QT erwähnt, aber das mag ich nicht besonders. Ich würde für meine Programme gerne ausschließlich Dinge verwenden, die mich hinsichtlich der Verbreitung in keiner Weise einschränken.
Und noch eine Frage zu GTK: Es gibt wohl seit rund einem Jahr ein deutschsprachiges Buch, das sich damit beschäftigt. Kennt das hier jemand? Ist das für mich brauchbar oder wendet sich das an Leute, die auf C (ohne ++) stehen?
Vielen Dank vorweg für alle Antworten!
Gregor
Programmieren für GNU/Linux (X) und Windows
Programmieren für GNU/Linux (X) und Windows
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])
Re: Programmieren für GNU/Linux (X) und Windows
Moin,
du wirst schwerlich um die Verwendung von Qt in der Version 4 (oder demnächst auch höher) herumkommen. Es gibt meines Wissens keine Grafikbibliotheken die ähnlich Plattform übergreifend verfügbar sind.
Bei der Verwendung der fertigen Programme unter GNU/Linux kann man die Oberfläche ähnlich gtk aussehen lassen, bei Windows gibt es die Möglichkeit Qt wie Win aussehen zu lassen.
Wo ist das Problem bei der Verbreitung? Willst du geschlossene Software vertreiben?
Auch die Herstellung der Programme mit qtcreator ist denkbar einfach geworden.
Ich verwende neben den von mir bevorzugten Qt-Anwendungen(kein KDE!) auch Programme wie ding, weil die das machen was ich will. Die lassen sich überhaupt nicht in irgendeine Grafikoberfläche einbinden und sind eben hässlich, aber funktionell.
du wirst schwerlich um die Verwendung von Qt in der Version 4 (oder demnächst auch höher) herumkommen. Es gibt meines Wissens keine Grafikbibliotheken die ähnlich Plattform übergreifend verfügbar sind.
Bei der Verwendung der fertigen Programme unter GNU/Linux kann man die Oberfläche ähnlich gtk aussehen lassen, bei Windows gibt es die Möglichkeit Qt wie Win aussehen zu lassen.
Wo ist das Problem bei der Verbreitung? Willst du geschlossene Software vertreiben?
Auch die Herstellung der Programme mit qtcreator ist denkbar einfach geworden.
Ich verwende neben den von mir bevorzugten Qt-Anwendungen(kein KDE!) auch Programme wie ding, weil die das machen was ich will. Die lassen sich überhaupt nicht in irgendeine Grafikoberfläche einbinden und sind eben hässlich, aber funktionell.
- duese
- Beiträge: 651
- Registriert: 12.07.2006 15:27:20
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Re: Programmieren für GNU/Linux (X) und Windows
Was ist mit wxWidgets? Ist Plattform übergreifend und relativ simpel gehalten.
Ich kenne mich mit makefiles nicht so aus, kann mir aber vorstellen, dass ein sinnvoll konstruiertes makefile so eingestellt werden kann, dass es Binaries für Linux und Windows baut.
Ich kenne mich mit makefiles nicht so aus, kann mir aber vorstellen, dass ein sinnvoll konstruiertes makefile so eingestellt werden kann, dass es Binaries für Linux und Windows baut.
- schorsch_76
- Beiträge: 2612
- Registriert: 06.11.2007 16:00:42
- Lizenz eigener Beiträge: MIT Lizenz
Re: Programmieren für GNU/Linux (X) und Windows
Du kannst für Platformunabhängigkeit gtkmm [1] verwenden. Ist leicht zu lernen. Dazu machst du ambesten noch deine makefiles mit cmake [2]. Auch sehr leicht zu verstehen. Gibts beides auch für Windows. cmake kann auch MSVC Solutions generieren welche problemlos übersetzt werden können. gtkmm ist absolut frei (GPL/LGPL).
Gruß
schorsch
[1] http://www.gtkmm.org/
[2] http://www.cmake.org/
[3] http://library.gnome.org/devel/gtkmm-tutorial/unstable/
Gruß
schorsch
[1] http://www.gtkmm.org/
[2] http://www.cmake.org/
[3] http://library.gnome.org/devel/gtkmm-tutorial/unstable/
Re: Programmieren für GNU/Linux (X) und Windows
Entweder Qt, sogar qtcreator ist langsam eine benutzbare IDE oder wxWidgets z.B. in code::blocks und beides ohne gebastel an makefiles, configs oder sonstigen Anpassungen.
Qt lässt sich nahtlos in das native Look&Feel integrieren und wxWidgets nutzt direkt die native Graphikbibliothek.
Qt lässt sich nahtlos in das native Look&Feel integrieren und wxWidgets nutzt direkt die native Graphikbibliothek.
Re: Programmieren für GNU/Linux (X) und Windows
Nochmal hallo!
Danke schonmal für die Antworten! Dass „mein“ GTK das GTKmm ist, weiß ich schon eine Weile, cmake ist mir allerdings noch nicht bekannt. Vielen Dank für die Links! Die werden mich für eine Weile beschäftigen. Auch auf WxWidgets bin ich schon gestoßen, hab’s aber noch nicht so genau angeguckt.
Und weil die Frage aufkam: Es geht mir zunächst nur um sehr einfache, kleine Programme, die wohl kaum zu Geld gemacht werden können. Insofern ist QT genauso gut wie alles andere. Allerdings könnte passieren, dass ich irgendwann mal etwas programmiere, wofür ich Geld nehmen möchte. Und in diesem Fall will ich mich neben der Bibliotheken-Lernerei nicht auch noch mit Lizenzen befassen müssen.
Um Missverständnissen vorzubeugen: Ich habe nichts dagegen, dass Trolltech Geld verdient. QT ist sicherlich gut und als ich mich noch nicht so intensiv mit dem ganzen Drumherum befasst habe, hat mir KDE wirklich gut gefallen. Mittlerweile stehe ich aber auf Software, die mich in Ruhe arbeiten lässt und nicht einen Großteil der Ressourcen für sich beansprucht. Verlässlichkeit ist mir mittlerweile um ein Vielfaches wichtiger als Featuritis und optische Effekte.
Gruß
Gregor
Danke schonmal für die Antworten! Dass „mein“ GTK das GTKmm ist, weiß ich schon eine Weile, cmake ist mir allerdings noch nicht bekannt. Vielen Dank für die Links! Die werden mich für eine Weile beschäftigen. Auch auf WxWidgets bin ich schon gestoßen, hab’s aber noch nicht so genau angeguckt.
Und weil die Frage aufkam: Es geht mir zunächst nur um sehr einfache, kleine Programme, die wohl kaum zu Geld gemacht werden können. Insofern ist QT genauso gut wie alles andere. Allerdings könnte passieren, dass ich irgendwann mal etwas programmiere, wofür ich Geld nehmen möchte. Und in diesem Fall will ich mich neben der Bibliotheken-Lernerei nicht auch noch mit Lizenzen befassen müssen.
Um Missverständnissen vorzubeugen: Ich habe nichts dagegen, dass Trolltech Geld verdient. QT ist sicherlich gut und als ich mich noch nicht so intensiv mit dem ganzen Drumherum befasst habe, hat mir KDE wirklich gut gefallen. Mittlerweile stehe ich aber auf Software, die mich in Ruhe arbeiten lässt und nicht einen Großteil der Ressourcen für sich beansprucht. Verlässlichkeit ist mir mittlerweile um ein Vielfaches wichtiger als Featuritis und optische Effekte.
Gruß
Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])
Re: Programmieren für GNU/Linux (X) und Windows
Wenn du Closed Source machen willst kannst du das auch tun. --> http://de.wikipedia.org/wiki/GNU_Lesser ... ic_LicenseAllerdings könnte passieren, dass ich irgendwann mal etwas programmiere, wofür ich Geld nehmen möchte. Und in diesem Fall will ich mich neben der Bibliotheken-Lernerei nicht auch noch mit Lizenzen befassen müssen.
(Und wenn du mit mit dieser Lizenz ein Problem hast wirst du bei deinem Vorhaben auf größere schwierigkeiten stoßen )
Ich denke auch, wenn du Platformübergreifend arbeiten willst ist Qt wohl das, mit dem es am schmerzfreisten geht. Gerade auch, weil es recht umfangreich ist und wohl den größten teil der Eigenheiten der verschiedenen Platformen abdeckt.
Das kompilieren für die Zielplatform wird dir nicht erspart bleiben, ausser du benutzt so dinge wie Java (was natülich auch wieder andere vor und nachteile hat).Erstens brauche ich noch zusätzliche Dinge wie GTK oder QT, um fensterln zu können, zweitens muss ich die Programme entweder auch unter DOS/Windows compilieren oder mich mit einem Cross-Compiler herumschlagen.
Das mit sollte aber mit einem buildsystem wie cmake oder qmake auch recht anständig machbar sein.
Unix is user-friendly; it's just picky about who its friends are.