Nichts als die Wahrheit

18. November 2009

KDE Tutorial, Teil 1: Einrichtung der Entwicklungsumgebung [Update]

Filed under: C++, Entwicklung, karmic, KDE, linux, Open Source, Tutorial, ubuntu — Argeleb @ 09:30

Wenn man sich auf den Seiten des KDE-Projektes nach Informationen zur Entwicklung von KDE-Programmen umsieht, könnte man schnell den Eindruck gewinnen, man müsse die komplette Desktopumgebung kompilieren. Das ist natürlich nicht notwendig. Aber man muss schon ein paar Komponenten installieren, damit man vernünftig arbeiten kann.

Jeder Programmierer ist anders und hat besondere Vorlieben, was Editoren usw. angeht. Hier sei nur KDevelop erwähnt, da es das „natürliche“ Instrument für die KDE-Softwareentwicklung sein sollte. Aber Vorsicht, die Version, die mit Karmic ausgeliefert wird, ist immer noch eine Beta-Version.

Manch einer, allen voran Andreas Pakulat, ist über die Entscheidung der Kubuntu Entwickler, eine Beta-Version in einer stabilen Distribution auszuliefern, nicht sonderlich glücklich. Zum Teil kann ich die Kritik nachvollziehen, allerdings darf sich das KDevelop-Team durchaus auch an die eigene Nase fassen, denn schließlich existiert KDE4 nun schon seit mehr als zwei Jahren, und es gibt immer noch keine stabile Version der Haupt-IDE. So gesehen erzeugt diese Vorgehensweise Druck auf die Entwickler (mal abgesehen davon, dass sie ja jederzeit ein PPA mit der aktuellsten Beta für Ubuntu bereitstellen könnten). So wie es jetzt aussieht, soll KDevelop wohl mit KDE 4.4 fertig werden.

Resourcen

Benötigte Programme und Bibliotheken

Im folgenden habe ich versucht, alle Pakete zusammenzufassen, die man für die Entwicklung benötigt. Da auf meinem Rechner nach mehreren Versuchen bereits alles vollständig installiert war, habe ich eine VM mit nacktem Kubuntu aufgesetzt, und nach und nach alle Pakete installiert, die gefehlt haben. Nichts desto trotz kann es sein, dass diese Liste nicht vollständig ist.

CMake

CMake ist ein plattformunabhängiger Generator für Build-Dateien. Unter Linux werden mit seiner Hilfe Unix-makefiles erzeugt. Statt komplizierte makefiles zu bearbeiten, wird für die Entwicklung von KDE4 Programmen lediglich eine CMakeLists.txt benötigt. Wenn die Vorraussetzungen erfüllt sind, erzeugt cmake alle notwendigen Dateien.

Um cmake unter Kubuntu zu installieren, gibt man auf der Konsole folgenden Befehl ein:

sudo apt-get install cmake

Näheres zu KDE4 und cmake kann man auf der KDE-Techbase nachlesen

Compiler

Um KDE Programme in C++ zu entwickeln, wird der C++ Compiler benötigt, den man mit folgendem Befehl installiert:

sudo apt-get install g++

Anmerkung: Wenn dieses Paket nicht installiert ist, stürzt KDevelop 3.9.95 beim Erzeugen eines neuen Projektes einfach ab.

kdevelop4 (Version 3.9.95)

Dieses Tutorial beschreibt die Entwicklung von KDE4 Programmen unter anderem mit Hilfe des neuen KDevelop4. Mit Kubuntu 9.10 befindet sich die Beta 5 in den Repositories. Folgender Befehl installiert kdevelop:

sudo apt-get install kdevelop

[Update] Statt der veralteten Beta 5 sollte man lieber auf eine aktuellere Version ausweichen. Auf dem Blog von Dr. Danz befinden sich aktuelle PPAs von KDevelop für Jaunty und Karmic

Nachdem man kdevelop startet und versucht ein neues Projekt mit einem Template anzulegen, wird man feststellen, dass kein KDE4-Template vorhanden ist. Das Paket kapptemplate im kdesdk beinhaltet einige Projekt-Templates für KDE:

sudo apt-get install kdesdk

Entwicklungspakete

Folgende Pakete müssen noch installiert werden, damit man KDE4-Programme entwickeln kann:

sudo apt-get install kdelibs5-dev

kdevelop kompilieren

Um mit der aktuellsten Version von KDevelop zu arbeiten, muss das Paket von der KDevelop Homepage heruntergeladen werden. Um KDevelop kompilieren zu können, ist zusätzlich das Entwicklungspaket des KDE-Workspace notwendig, das mit folgendem Befehl installiert werden kann:

sudo apt-get install kdebase-workspace-dev

Nähere Informationen zum Erstellen von KDevelop aus den Quellen können auf der Seite des Projekts gefunden werden.

Advertisements

11 Kommentare »

  1. Das mit dem Druck ist voelliger Humbug, insbesondere bei Opensource-Projekten. Wenn wir Zeit und Lust haben arbeiten wir an KDevelop, wenn nicht dann nicht – ob Ubuntu nun ne Beta verteilt oder nicht. Allerdings nimmt uns Ubuntu damit Freizeit weg, denn es kommt zu mehr Bugreports – insbesondere solche die schon laengst geloest sind. Und wenn ich an einem Tag 3 oder 4 solche Duplicates vor mir hatte hab ich meist keine Lust mehr mich noch mit KDevelop zu beschaeftigen. Und was das leidige Thema „KDE4 gibts seit 2 Jahren“ angeht: Bisher hat sich _niemand_ angeboten uns ueber einen laengeren Zeitraum zu helfen. Eine C++ IDE zu schreiben ist einfach nicht hipp genug (im Gegensatz zur 112. Plasma-Uhr) um mehr Entwickler anzulocken. Im letzten halben Jahr gabs kaum Entwicklungen weil die Hauptentwickler anderweitig zu tun haben (Studium, Arbeit, etc.). Im Schnitt fliesst denke ich 1-2 Mann-Monate pro Jahr in KDevelop und was wir angesichts dessen geschafft haben ist eigentlich ziemlich erstaunlich.

    Kommentar von apaku — 18. November 2009 @ 11:01

    • Ich mein das ja gar nicht negativ, sondern eher so, dass damit mehr Leute sich mit KDevelop beschäftigen. Und hoffentlich finden sich dann auch mehr Leute, die bereit sind, mit zu helfen.
      Das mit den so entstehenden Duplicates ist freilich ärgerlich, dass kann ich sehr sehr gut nachvollziehen.
      Aber vergleich doch mal die Situation mit KDE 4.0? Die frühzeitige Veröffentlichung als vermeintlich „stabil“ hat sicher sehr viel am Ruf von KDE kaputt gemacht, aber auf der anderen Seite kann ich mir vorstellen, dass sich dadurch einige Dinge beschleunigt haben. Aber das ist nur Spekulation.

      Kommentar von ArgelebAndreas — 18. November 2009 @ 13:12

  2. PS: Und was den PPA angeht: Soweit ich weiss hat keiner der KDevelop Entwickler Erfahrung wie man .deb’s baut oder fuer Ubuntu Pakete anbietet. Davon abgesehen ist das der Job der Paketmaintainer, nicht unserer. Wir stellen den Source-Code und ausschliesslich den Source-Code bereit (fuer KDevelop 3.5 hatten/haben wir Binaerpakete, aber das auch fuer KDevelop4 zu machen erfordert Zeit die wir momentan nicht haben)

    PPS: KDevelop4 ist jetzt zwischen 2 und 3 Jahren in der aktiven Entwicklung, das ist auch in etwa die Spanne die KDE 4.0 fuer einen Release gebraucht hat, also liegen wir eigentlich gut in der Zeit.

    Kommentar von apaku — 18. November 2009 @ 12:06

    • Da hast du natürlich Recht. Ich würds ja machen, aber ich hab bezüglich deb-Paketen auch noch keinen Plan. Schon mal mit dem Paket-Maintainer des kdevelop-Pakets Kontakt aufgenommen? Ich fänds ja nur fair, wenn sie schon instabile Pakete bauen, diese dann auch für Karmic aktualisieren, dann hätten wir jetzt schon 3.9.96 und das Problem mit den Duplicates würde sich auch relativ schnell klären.

      Jetzt sollten die Kubuntu Maintainer in den sauren Apfel beissen. Wenn sie schon eine Beta paketieren, dann müssen sie sie auch pflegen.

      Kommentar von ArgelebAndreas — 18. November 2009 @ 13:16

    • Mittlerweile gibt es ein PPA für Karmic von Dr.Danz: http://blogs.fsfe.org/drdanz/

      Kommentar von ArgelebAndreas — 21. Dezember 2009 @ 19:55

  3. […] KDE Tutorial, Teil 1: Einrichtung der Entwicklungsumgebung […]

    Pingback von KDE Tutorial, Teil 2: Ein erstes Programm mit Hauptfenster « Nichts als die Wahrheit — 20. November 2009 @ 10:44

  4. […] gerade mit einer Reihe Tutorials zur Entwicklung unter KDE begonnen: Im ersten Teil gibt es eine Zusammenfassung der notwendigen Pakete für die Entwicklungsumgebung, im zweiten Teil anfängerfreundlich ein erstes […]

    Pingback von Anwendungsentwicklung unter KDE — 28. November 2009 @ 04:42

  5. Ich ganz neu dabei, habe allerdings schon so ein paar Dinge in Visual C# programmiert. Ganz klar gesagt, ohne diese Einführung hätte ich die Sache nicht ans Laufen gebracht. Ich habe viele Stunden gesucht, bis ich das hier gefunden habe. Etwas absolut nicht negativ Gemeintes muss ich aber anmerken. Ein Anfänger, wie ich, ist ohne die hier gebotene Hilfe verloren. Diese sollte und darf man, meiner Meinung nach, nicht vergessen. Zur meiner Geschichte will ich Folgendes sagen: vor ein paar Jahren habe ich das Buch „C++ GUI-Progammierung mit QT3“ gekauft und versucht, jezt die einführenden Beispiele ans Laufen zu bringen. Es ging weder mit Kdevelop noch mit QT4 Designer (hier fehlten einige Buttons und Visuals). Ich habe früher auch schon mit Kdevelop und QT3 unter Suse gearbeitet, bin aber wieder davon abfgekommen. Eine einführende Literatur gibt es für meine Begriffe auch nicht. Eigentlich schade.

    Kommentar von Heinz Coenen — 21. Dezember 2009 @ 11:44

    • Ich stand anfangs auch wie der Ochs vorm Berg. Aber ich hab mich dazu entschlossen mich da mal durch zu beissen. Im Zuge dieser Arbeit bin ich oft vor meinem Rechner gessesen und habe geflucht wie ein Kesselflicker, so nach dem Motto: „Ich bin echt zu alt für diese Schei…“
      Naja, aber man muss auch sagen, dass die ganze Thematik nicht einfach ist. Man schüttelt halt nicht von heut auf morgen eine Traum-IDE aus dem Ärmel.
      An diesem Wochenende habe ich mein erstes Qt Programm fertiggestellt, und das ging erstaunlich einfach von der Hand, wobei ich allerdings schon sehr von der Java Entwicklung mit Eclipse verwöhnt bin. Da ist die Arbeitsweise bei QtCreator stellenweise schon arg „oldschool“
      Die Sourcen für dieses Programm sind hier zu finden: http://code.google.com/p/kdetutorial/source/browse/#svn/trunk/schnipsel

      Ich hab mir auch vorgenommen, dass im dritten Teil näher zu beschreiben (vor allem den Qt Teil). Im vierten Teil, werde ich daraus dann ein Programm für KDE machen (also mit KDE Spezialitäten würzen, z.B. Progress im Indicator Applet, etc.)

      Kommentar von ArgelebAndreas — 21. Dezember 2009 @ 19:53

      • Nicht sauer sein, aber dem Code nach solltest Du vielleicht besser nicht ueber eine C++-IDEs schreiben? Parameteruebergabe als Wert anstelle von konstanten Referenzen (auch wenn das bei QStrings vergleichsweise billig ist), nochmalige „Initialisierung“ von Objekten, die schon fertig konstruiert sind, „const“ nirgendwo, keine Ruecksicht auf Encodings beim Uebergang QByteArray->QString. Das da ist frisierter Java-Code, der zufaellig durch einen C++-Compiler durchpasst ;-}

        Kommentar von meinereiner87 — 9. Dezember 2010 @ 22:21

  6. Ich muss jetzt einmal meckern. Ich kann nirgendwo eine Einstellung von Kdevelop 4 finden. Es gibt da irgendwo eine deutsche Seite, aber die weicht erheblich von der englischen ab. Die Einstellungen der deutschen sind in der englischen, angefangen von „project“ bis „source formatter settings“ nicht zu finden. Ich habe natürlich auch Umgebungsvariablen eingestellt, Ergebnis null. Ich frage mich, wieso werden Dinge veröffentlicht, die von Sprache zu Sprache so unterschiedlich sind. Ich suche jetzt noch eine französische Auslegung der Dinge. Wie ich bereits schon einmal erwähnt habe, habe so einige Dinge in Visual C# programmiert, ebenso in Delphi 6, und Visual Basic. Es gab keine Probleme mit Umgebungsvariablen etc. Nur Lazarus lief in Ubuntu 9.10 Karmic Koala auf Anhieb. Der Rest war und ist ein Reinfall z.B. kann die headerdateien nicht finden, obwohl angegeben; makefile is missing in …, aber vorhanden; declaration not found: label, usw. Das sind aber kleine Programme, die ich nicht selber geschrieben habe, sondern die aus verschiedenen Büchern über C++ und QT3, wie „Das QT Buch“, stammen und von der mitgelieferten CD kopiert wurden. Oder „build“ fehlt in der Region „debug“ bzw. „Test area“, waren aber einmal vorhanden.
    Kurzum Kdevelop 4 hat mich nicht überzeugt.
    Ein gutes neues Jahr wünscht Allen
    Heinz Coenen

    Kommentar von Heinz Coenen — 4. Januar 2010 @ 13:00


RSS feed for comments on this post. TrackBack URI

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

Erstelle eine kostenlose Website oder Blog – auf WordPress.com.

%d Bloggern gefällt das: