Programmieren für GNU/Linux (X) und Windows

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
GregorS
Beiträge: 3174
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Programmieren für GNU/Linux (X) und Windows

Beitrag von GregorS » 03.01.2010 08:54:44

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
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

crazyed

Re: Programmieren für GNU/Linux (X) und Windows

Beitrag von crazyed » 03.01.2010 11:02:00

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 Debianqtcreator 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.

Benutzeravatar
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

Beitrag von duese » 03.01.2010 11:21:22

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.

Benutzeravatar
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

Beitrag von schorsch_76 » 03.01.2010 12:31:52

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/

kryzir
Beiträge: 178
Registriert: 22.09.2007 22:11:33

Re: Programmieren für GNU/Linux (X) und Windows

Beitrag von kryzir » 03.01.2010 13:24:50

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.

Benutzeravatar
GregorS
Beiträge: 3174
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Programmieren für GNU/Linux (X) und Windows

Beitrag von GregorS » 03.01.2010 14:02:57

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
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: Programmieren für GNU/Linux (X) und Windows

Beitrag von catdog2 » 03.01.2010 15:19:15

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.
Wenn du Closed Source machen willst kannst du das auch tun. --> http://de.wikipedia.org/wiki/GNU_Lesser ... ic_License
(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.
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 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).
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.

Antworten