Benutzerhandbuch zu KDevelop: Projekte

Weiter Zurück Inhaltsverzeichnis

### 8. Projekte

### 8.1 Projekttypen

#### Programme

KDevelop erzeugt standardmäßig Projektdateien mit der Dateierweiterung .kdevprj. Diese Datei enthält alle Projektinformationen, sodaß Sie darauf achten sollten sollten, sie nicht zu löschen. Die Datei wird im Hauptverzeichnis des Projekts gespeichert und muß zum Laden des Projekts geöffnet werden. Die Projektdatei enthält alle Informationen ihrer Dateien wie Dateieigenschaften, Installationspfade, Distributionsstatus und die Compileroptionen (CXXFLAGS). Das Setzen von Dateioptionen erlaubt Ihnen anzugeben, wohin die Dateien installiert werden sollen.

Mit dem KAppWizard können Sie ein neues Applikationsprojekt nach dem gewünschten Typ anlegen. Zur Zeit generiert der KAppWizard vier verschiedene Arten von Rahmenapplikationen:

- eine SDI-(Single Document Interface, Einzeldokument-Schnittstelle) KDE-Applikation inklusive Menüleiste, Werkzeugleiste und Statuszeile. Dieser Typ enthält alle Elemente zur einfachen Erweiterung zu einer vollständigen KDE-Applikation. Der Programmrahmen verwendet bereits Statuszeilen-Hilfenachrichten, wie sie aus kommerziellen Produkten bekannt sind und wie auch KDevelop sie verwendet. Aus Sicht des Programmierers ist dieses Rahmenprogramm an das MVC (Modell-Ansicht-Controller) Konzept durch Aufteilung des Codes in drei Klassen ausgelegt. Dieser Applikationstyp bietet bereits eine logische Strukturierung zur Erstellung von Anwendungen mit einer graphischen Benutzerschnittstelle.
- ein KDE-basiertes Rahmenprogramm. Dieser Applikationstyp bietet die größte Flexibilität für diejenigen, die ihr Programm von Grund auf entwickeln möchten, kann aber auch als Ausgangspunkt von Wizards und Modulen verwendet werden.
- ein rein Qt-basiertes Rahmenprogramm. Für Entwickler, die nur die Qt-Bibliothek als graphische Benutzerschnittstelle verwenden möchten, bieten wir dieses intelligente Rahmenprogramm, um die Applikationsenwicklung zu vereinfachen. Da die Qt-Programmierung vollständig unterstützt wird, sollten Sie keine Probeme bei der Erstellung vollständiger, rein Qt-basierter Applikation haben.
- ein C++ Rahmenprogramm. Dieser Applikationstyp ist für die Entwickler gedacht, die ein Terminal-basiertes C++ Programm schreiben möchten. Enfernen Sie einfach die Zeile mit "Hello World" in der main()-Funktion und konstruieren Sie Ihre Klassen wie gewöhnlich mit KDevelop.
- ein C-Rahmenprogramm. Dieser Programmtyp ist auf die Verwendung des C-Compilers beschränkt.

Desweiteren erlaubt es KDevelop, Projekte für KDE 2 und Qt 2.x zu erstellen. Diese machen, bevor Sie ein Projekt erstellen, die Installation der benötigten Bibliotheken, sowie das Setzen des entsprechenden Installationspfades im KDevelop Setupdialog, erforderlich (siehe auch Grundsätzliche Konfiguration), damit sichergestellt ist, daß alles automatisch funktioniert. Der KDevelop 1.2 Applikations-Wizard enthält zusätzlich ein GNOME-Projekttyp, damit Entwickern die Möglichkeit gegeben wird, mit KDevelop GTK+-basierte Programme zu erstellen.

Zusätzlich bietet sich KDevelop an, um mit bereits existierenden Projekten zu arbeiten. Diese können jede Option haben, die der Programmierer selbst in configure und Makefiles gesetzt hat. Soweit es die Ausführung und den Erstellungsprozess betrifft, sind zur Zeit nur die gleichen Strukturen wie bei der Erstellung von Rahmenprogrammen erlaubt. Erzeugen Sie ein eigenes Projekt mit dem Applikations-wizard und fügen Sie Ihre Dateien dem Projekt hinzu, um die Bearbeitung mit dem Klassenbrowser zu ermöglichen.

Um den Erstellungsvorgang sicherzustellen, muß Ihr Projekt alle Quellcodes in einem Unterverzeichnis bereithalten, das dem kleingeschriebenen Projektnamen entspricht; die Ausführung der Binärdatei ist ebenfalls auf den Namen des kleingeschriebenen Projektnamens beschränkt.

Beachten Sie, das KDevelop selbst keine Informationen in die Makefiles oder Konfigurationsdateien schreibt - Sie sind für das Verhalten des Projekts vollständig selbst verantwortlich.

#### Bibliotheken

Ein allgemeiner Projekt-Typ zur Erstellung von Bibliotheken ist zur Zeit nicht verfügbar. Andererseits ist es jedoch nicht unmöglich mit KDevelop Bibliotheken zu erstellen. Hier erhalten Sie ein paar Richtlinien und Anleitungen:

- Wann immer Sie in Ihrem Projekt-Unterverzeichnis ein weiteres Unterverzeichnis erstellen, das Quellcodes enthält, wird KDevelop daraus eine statische Bibliothek erzeugen. Das bedeutet, das statische Bibliotheken grundsätzlich schon durch das Projektmanagement unterstützt wird, um die Projektdateien übersichtlicher zu sortieren. Beachten Sie, das die statische Bibliothek später ein Teil der Binärdatei wird und daher nicht installiert wird.
- Um eine shared library (dynamische Bibliothek) zu erzeugen, bietet Ihnen KDevelop einen einfachen Weg an, um eine wie oben beschriebene statischen Bibliothek zu einer dynamischen zu konvertieren: Öffnen Sie den RFV am linken Rand des KDevelop-Hauptfensters und wechseln Sie zum erzeugten Unterverzeichnis. Dort benutzen Sie den rechten Maus-Button über dem Unterverzeichnis. Das Popup-Menü bietet dann die folgenden Optionen:
  - Makefile.am aktualisieren
  - Zur statischen Bibliothek machen
  - Zur dynamischen Bibliothek machen
  Verwenden Sie "Zur dynamischen Bibliothek machen", um die standardmäßig erzeugte statische Bibliothek zu einer dynamischen zu konvertieren. Sie können Ihre Entscheidung später auch rückgängig machen, falls Sie sich dazu entscheiden sollten, doch eine statische Bibliothek zu verwenden- wiederholen Sie einfach die selben Schritte und wählen Sie "Zur statischen Bibliothek machen".

#### Mehrere Zielobjekte

Für manche Projekte reichen die Möglichkeiten von KDevelop zur Zeit noch nicht aus. Dies sind Projekte, die mehrere Zielobjekte beinhalten, wie Pakete, die mehrere Anwendung enthalten. Da Kommandos wie "Ausführen" erfordern, daß nur ein Ziel vom Entwickler erstellt wird, werden solche Projekte nur in der Weise unterstützt, daß Sie Ihre eigenen Einträge in die Makefile.am's vornehmen und Ihre eigenen Verzeichnisse für die zu erstellenden zusätzlichen Bibliotheken oder ausführbaren Dateien erstellen müssen. Dennoch ruft ein Erstellungsprozeß immer Ihr Makeprogramm auf, unabhängig davon welche Ziele tatsächlich erstellt werden; diese Funktionen können also weiterhin verwendet werden (mit der Einschränkung, daß das Erstellen aus dem Haupt-Projektverzeichnis heraus aufgerufen wird).

Eine weitere Methoden mit diesem Typ von Projekt umzugehen und denoch den Zugriff auf die ausführbaren Dateien zu erhalten, ist das Erstellen von leeren Projekten mit anschließendem Verschieben der Unterverzeichnisse mit den kdevprj Dateien in das Verzeichnis, das später alle Ihre Quellen enthalten wird. Sie könnten dann jedes Ziel unabhängig von den anderen mit Hilfe der zugehörigen kdevprj Datei laden; dies ermöglicht Ihnen auch das Ausführen und Debuggen des Zieles.

Mehrere Binärdateien oder Bibliotheken innerhalb Haupt-Projektverzeichnisses sind möglich, wenn Sie sich an die in Projekt Hacking erläuterten Regeln und an die folgenden Richtlinien zum Editieren von Makefile.am im Projektverzeichnis halten (alle Modifikationen müssen außerhalb der KDevelop write area erfolgen) :

- Fügen Sie das Ziel bin_PROGRAMS hinzu, wenn es eine auführbare Datei ist
- Fügen Sie Ihre Bibliotheksdeklaration hinzu, wenn es sich um eine dynamische Bibliothek handelt
- Fügen Sie dieselben Deklarationen wie beim Originalprojekt hinzu:
  - NeuesZiel_METASOURCES
  - NeuesZiel_LD_FLAGS
  - DISTCLEANFILES
  - Kopieren Sie die messages Einträge und ersetzen Sie Ziel_SOURCES Ziel.pot durch NeuesZiel_SOURCES NeuesZiel.pot
- Fügen Sie Ihre Quellcodes, die sie für Ihre Binärdatei oder Bibliothek benötigen, wie im KDevelop Schreib-Bereich aufgeführt außerhalb des Schreibbereiches hinzu.
- Um statische Bibliotheken zu installieren, erzeugen Sie die Bibliothek mit KDevelop's automatischer Generierung innerhalb von Unterverzeichnissen. Dann ändern Sie die Makefile.am außerhalb des Schreibbereichs gemäß den von Ihnen benötigten Einstellungen.

### 8.2 Neue Projekte

Der KDevelop Application Wizard ermöglicht die Erstellung von verschiedenen Projekttypen. Alle Projekte verwenden die Standard GNU Entwicklungswerkzeuge wie unter Anforderungen beschrieben.

Für KDE Anwendungen stehen sechs Projekttypen zur Verfügung :

- KDE 2 Normal: Erzeugt eine KDE-2 Applikation mit Session-Management, Menüleiste, Werkzeugleiste, Statusleiste und Unterstützung für das Doc/View Modell.
- KDE 2 Mini: Erzeugt eine KDE-2 Applikation mit leerem Hauptwidget.
- KDE 2 MDI: Erzeugt eine KDE-2 MDI (Multiple Document Interface) Applikation mit Session-Management, Menüleiste, Werkzeugleiste, Statusleiste und Unterstützung für das Doc/View Modell.

Wenn Sie keine Abhängigkeiten zu den KDE Bibliotheken wünschen, können Sie eine der vier Qt Anwendungen wählen:

- QT 2.x SDI: Erzeugt eine Qt-Applikation mit einem Hauptfenster, das eine Menüleiste, Werkzeugleiste und Statusleiste enthält, einschließlich Unterstützung für ein Single Document-view Interface (SDI) Modell.
- QT 2.1 MDI: Erzeugt eine Qt-2.1 Applikation mit einem Hauptfenster, das eine Menüleiste, Werkzeugleiste und Statusleiste enthält, einschließlich Unterstützung für ein Multiple Document Interface (MDI) Modell.
- QextMDI: Erzeugt eine auf der QextMDI Bibliothek und Qt2.0x basierende MDI Anwendung. Ermöglicht das Umschalten zwischen den beiden Modi Toplevel und Kind-Frame. Benötigt QextMDI. Mehr Informationen erhalten Sie auf http://www.geocities.com/gigafalk/qextmdi.htm.

Weiterhin bietet der Applikations-Wizard eine Schablone, um GNOME-konforme Applikationen mit der GTK+ C-Bibliothek zu erstellen, die standardmäßig schon ein Hauptfenster mit Menüleiste, Werkzeugleiste und Statuszeile enthält.

Die beiden Typen C und C++ bieten die Erstellung einer Kommandozeilenanwendung an.

Außerdem können Sie ein völlig leeres Projekt erzeugen, um beispielsweise mit bereits vorhandene Projekten zu arbeiten.

Der Wizard fragt Sie nach dem Projektnamen, Version und dem Verzeichnis in dem das Projekt erstellt werden soll. Außerdem können Sie Ihren Namen und Ihre EMail Adresse angeben. Diese werden in den Header und cpp Schablonen am Anfang Ihrer Quelldateien eingetragen und werden außerdem für die Einträge in die -lsm Datei verwendet.

Zum Hinzufügen der Revisionskontrolle zu Ihrem Projekt, lesen Sie bitte das Kapitel CVS Integration.

### 8.3 Öffnen und Schließen von Projekten

KDevelop ist standardmäßig so eingestellt, daß das zuletzt geöffnete Projekt beim Start geladen wird. Dies ermöglicht einen schnellen Start, aber möglicherweise wollen Sie es ändern, so daß die Entwicklungsumgebung ohne ein Projekt gestartet wird. Zum Ändern des Standardverhaltens schalten Sie 'Letztes Projekt Laden' im KDevelop Setup Dialog aus.

Zum Öffnen eines anderen Projekts wählen Sie "Öffnen" aus dem Projektmenü oder drücken den "Projekt öffnen" Schalter auf der Werkzeugleiste. Im Falle, daß Sie schon ein Projekt geöffnet haben, wird dieses geschlossen. Wenn Ihr aktuelles Projekt nicht gesicherte Dateien enthält, werden Sie gefragt ob Sie diese Dateien speichern wollen. Sie können sich dann entscheiden, welche Dateien gesichert werden sollen und welche nicht, oder Sie können alle Dateien auf einmal speichern.

Sie erhalten einen "Projekt öffnen" Dialog, in dem Sie zu dem Verzeichnis wechseln können, das Ihre zu ladende Projektdatei enthält. KDevelop Projektdateien haben einen *.kdevprj Mimetypen der auch durch ein Projekt Icon dargestellt wird. Wählen Sie die Projektdatei und betätigen Sie "Öffnen". Wenn ein Projekt geladen wird, scannt der Klassenbrowser alle Dateien und baut den Klassenbaum auf, so daß Sie sofort mit der Arbeit beginnen können, indem Sie den Klassenbrowser benutzen.

Eine weitere komfortable Möglichkeit ein Projekt zu öffnen, besteht darin, es im KFM, dem KDE Datei Manager anzuwählen. Dies startet KDevelop zusammen mit dem gewählten Projekt. Sie könnten es genausogut von der Kommandozeile starten, indem Sie eingeben `kdevelop projektname.kdevprj`.

Wenn Sie KDevelop schließen, wird Ihre Projektdatei automatisch gespeichert und die Entwicklungsumgebung stellt fest, ob irgendwelche Projektdateien verändert wurden. Sie werden dann gefragt, ob Sie die Änderungen speichern wollen. Die verfügbaren Optionen sind die gleichen wie beim Schließen eines Projekts.

### 8.4 Bearbeiten eines Projekts

Nachem Sie ein Projekt mit dem KAppWizard erstellt haben, werden Soe normalerweise das Projekt erweitern, indem Sie Quelldateien, Klassen, Pixmaps, Bilder und was immer Ihr Projekt benötigt, hinzufügen. Nun, editieren eines Projektes bedeutet, daß Sie das Standardprojekt nach der Erstellung mit Hilfe von Menüs und Dialogen Ihren Anforderungen gemäß verändern können. Der nächste Abschnitt beschreibt deshalb, wie Sie bereits existierende Dateien und Klassen hinzufügen und wie Sie neue Dateien erstellen können. Dies ist notwendig um Ihr Projekt zu erstellen, wird aber nicht dem End-User beim Installieren helfen. Deshalb beschreibt der Abschnitt Setzen der Projekt Optionen, wie Sie die Dateieigenschaften, insbesondere für zusätzliche Dateien, die installiert werden sollen, setzen können. Dies betrifft z.B. Dokumentationen oder Pixmaps. Eine weitere Arbeit bei der Wartung Ihres Programms ist das Hinzufügen von Übersetzungen, die die Internationalisierung unterstützen. Dies wird in Übersetzung hinzufügen beschrieben.

Erweitern der Projekt Dokumentation behandelt Fragen, wie ein guter Satz an Dokumentationen für Online Hilfe erstellt werden kann, die dem Endbenutzer die Verwendung Ihres Produktes ermöglicht und Ihn in die Lage versetzt, sich bei Problemen selbst helfen zu können.

Schließlich wird im Abschnitt Projekt Hacking beschrieben, wie Sie das KDevelop Projektmanagment in bestimmten Fällen umgehen können.

#### Hinzufügen und Entfernen von Dateien und Klassen

Das Hinzufügen neuer Dateien wird oft benötigt, wenn Sie Ihre Klassenimplementationsdatei in mehrere Dateien aufteilen wollen. Dann ist es nötig eine neue Datei zu erzeugen, die den Teil der Implementation enthält, den Sie auslagern wollen. Sie können dies erreichen, indem Sie "Neu" aus dem Dateimenü wählen, wodurch der "Datei-Neu" Dialog aufgerufen wird. Dies gibt Ihnen die Möglichkeit, den Dateitypen, den Namen und Speicherort anzugeben. Während Sie den Dateinamen angeben, fügt KDevelop automatisch eine Erweiterung hinzu, Sie können diese Erweiterung jedoch auch noch Ihren Bedürfnissen anpassen. Außerdem können Sie die Vorlagendatei für Quelldateien einbinden, so daß Sie den Kopf nicht von Hand in Ihre Datei kopieren müssen. Des weiteren können Sie entscheiden, ob die Datei dem Projekt hinzugefügt werden soll oder nicht. Denken Sie daran, daß dies nichts mit der späteren Installation zu tun hat; diese Konfiguration erfolgt später innerhalb der Dateivoreinstellungen.

Nachdem die neue Datei erzeugt wurde, werden sowohl die Projektdatei, als auch die zugehörigen Makefile.am's aktualisiert. Zum Hinzufügen einer kompletten Klasse, können Sie mit Hilfe des Klassengenerators eine neue Klasse konstruieren. Dieser wird durch Wahl von "Neue Klasse" aus dem Projektmenü aufgerufen.

Im Falle, daß Sie ein existierendes Projekt haben und bestimmte Klassen hinzufügen wollen, die Sie in Ihrem Projekt wiederverwenden wollen, wählen Sie "Vorhandene Datei(en) hinzufügen..." aus dem Projektmenü. In dem erscheinenden Dialog können Sie wählen, welche Dateien Sie hinzufügen wollen und welches das Zielverzeichnis sein soll. Denken Sie daran, daß die Dateien in das Zielverzeichnis kopiert und dem Projekt hinzugefügt werden. Sie sollten nach dem Hinzufügen Make aufrufen, damit Ihre Dateien dem Erstellungsprozeß hinzugefügt werden. Für den Fall, daß Sie z.B. Pixmaps hinzufügen wollen, die später durch den Endbenutzer installiert werden sollen, sollten Sie die Dateieigenschaften anpassen und den Installationspfad angeben (siehe Setzen der Projekt Optionen).

Um Dateien dem Projekt hinzuzufügen, die sich bereits im Projektverzeichnis befinden, wechseln Sie in die RFV Ansicht, in der Sie zugehörige Dateien an Hand des Icons ausmachen können. Wählen Sie die hinzuzufügende Datei und betätigen Sie die rechte Maustaste um das Popup-Menü zu öffnen. Dann wählen Sie "Datei zum Projekt hinzufügen...".

Sie können auch Dateien vom Projekt entfernen. Dies wird dann nötig, wenn Sie nicht die vom KAppWizard vorgenerierten Dateien verwenden wollen. Beim Entfernen von Dateien haben Sie zusätzlich die Möglichkeit, die Datei komplett von der Festplatte zu entfernen. Zum Entfernen vom Projekt, wählen Sie die Datei im LFV oder im RFV, drücken die rechte Maustaste und wählen "Datei vom Projekt entfernen...". Zum Löschen der Datei wählen Sie "Datei von der Festplatte entfernen...".

#### Setzen der Projekt Optionen

Auf den Dateieigenschaftendialog kann über das Projektmenu oder innerhalb des LFV mit einem Klick der rechten Maustaste zugegriffen werden. Er zeigt die Projektdateien in Gruppen, so wie sie auch im LFV angeordnet sind und zeigt die Dateieigenschaften wie Größe, Dateityp, ob die Datei zum Projekt gehört sowie den Pfad, in den die Datei durch das make install Kommando des Endnutzers installiert wird. Es ist wichtig, diesen Pfad für Dokumentationsdateien und Pixmaps anzugeben, Sie müssen diese Pfade also hier einstellen. Für Standard KDE Pfad Makros sollten Sie in Ihrer Makefile.am nachsehen, wo diese Makros aufgeführt sind.

#### Übersetzung hinzufügen

Da KDE die Konfiguration Ihres Desktops und des Verhaltens Ihrer Anwendungen ermöglicht, haben Sie auch die Möglichkeit die Sprache, die Ihre Anwendung verwendet zu wählen. Dies betrifft die Verwendung der Online-Dokumentation genauso wie das gesamte Aussehen Ihrer Applikation. In Bezug auf die Dokummentationsdateien scheint dies ein triviales Unterfangen zu sein. Sie würden ein Unterverzeichnis mit dem Kürzel der jeweiligen Sprache im `docs` Verzeichnis Ihres Projektes anlegen, z.B ``de/ für Deutsch und die englische Dokumentation in dieses Verzeichnis kopieren. Dann würden Sie die Dokumentation erzeugen und alle Projekt Optionen bezüglich der Installationsverzeichnisse setzen. Dann könnten Sie damit beginnen die sgml Datei zu übersetzen und die Dokumentation neu zu erzeugen. Das ist alles. Für die Anwendung selber scheint dies ein wenig schwieriger zu sein. Wir wollen deshalb hier erklären, wie man die Internationalisierung unterstützt und wie man die Sprachen die man unterstützen möchte einbindet.

Zuerst müssen Sie alle in Ihrer Anwendung sichtbaren Zeichenketten, die also auf Balken oder in Menüs erscheinen, in einem `i18n()` Makro einschließen. Dieses Makro wird durch die Funktion `klocale->translate()` aus der KLocale Klasse ersetzt ist aber wesentlich einfacher zu verwenden. Da das Makro in der `kapp.h` Includedatei definiert ist, müssen Sie Ihrer Quelldatei ein `#include <kapp.h>` hinzufügen. Es sollte auch erwähnt werden, daß obwohl `i18n()` ein Makro ist und Sie deshalb denken, Sie könnten die Originalfunktion verwenden, dies nicht funktionieren wird. Das liegt daran, daß die Zeichenketten, die übersetzt werden sollen, aus den Quelldateien ausgelesen und in der Übersetzungsdatei der Anwendung gespeichert werden (<IhreApp>.pot im /po Unterverzeichnis). Dies wird vom xgettext Programm gemacht, welches mit `make messages` aus Ihrem Projektverzeichnis heraus aufgerufen wird. Da xgettext das `i18n()` Makro benötigt, wird Sie die Verwendung der Originalfunktion nicht zum Ziel führen.

Für die Übersetzungen selbst, müssen Sie zunächst die message Datei erzeugen, die alle vom `i18n()` Makro eingeschlossenen Zeichenketten aus Ihrem Quellcode enthält. Dies wird durch Auswahl von "Meldungen erstellen und verbinden" aus dem Projektmenü erreicht. Dann müssen die Sprachen, die Ihr Projekt unterstützen soll, hinzugefügt werden. Dazu wählen Sie "Neue Übersetzung hinzufügen..." aus dem Projektmenü. Dies öffnet den Sprachauswahldialog. Wählen Sie eine Sprache und bestätigen Sie mit OK. Es wird eine ASCII Datei erzeugt, die Einträge für den Dateinamen und die Zeilennummer des Vorkommens der Zeichenkette enthält. Sie sehen dann jeweils eine `msgid` Zeile, die die zu übersetzende Zeichenkette enthält, gefolg von einer `msgstr` Zeile. Die `msgstr` Zeile ist leer, bis auf Einträge, die bereits von den KDE Bibliotheken bereitgestellt werden. Die leeren Zeilen müssen von Ihnen mit der entsprechenden Übersetzung ausgefüllt werden.

Sie könnten die Übersetzungen von Hand schreiben. Das KDE-SDK bietet jedoch auch das Programm KTranslator, welches die Dateien bereits auf Ihrem System installierter Programme liest, so daß Sie bereits übersetzte Zeichenketten wiederverwenden können.

Um auf KTranslator zuzugreifen, wählen Sie am einfachsten eine <Sprache>.po Datei aus dem /po Verzeichnis entweder in LFV oder RFV. Dies öffnet KTranslator und ermöglicht es, auf einfache die Übersetzung durchzuführen. Denken Sie daran das Sie KTranslator konfigurieren müssen, damit der Autorenname, sowie Sprache und Zieldatei korrekt gesetzt sind. Standardmäßig öffnet KTranslator nur die Übersetzungsdatei.

Für alle Übersetzungen verwendet `make` das Programm `msgfmt` für die Formatierungen Ihrer in der ausführbaren Datei verwendeten Meldungen, Sie brauchen sich darüber aber keine Gedanken zu machen; dies wird alles von KDevelop automatisch gemacht.

Weitere Informationen zur Unterstützung der Internationalisierung finden Sie auf http://www.kde.org; eine Menge Leute machen Übersetzungen für Sie. Sie finden dort auch eine Liste mit EMail Adressen der Übersetzer, denen Sie schreiben könnten und die Ihnen dabei helfen können. Lesen Sie auch Verwendung des QT Designers in Ihrem Projekt und The KDevelop Programming Handbook wo Fragen der Internationalisierung auch wieder behandelt werden.

#### Erweitern der Projekt Dokumentation

Alle mit KDevelop erstellten Projekte enthalten eine vorkonfigurierte Dokumentation, die bereits Standardkapitel zu Installation, Projektname und Version, sowie Autorname und Emailadresse beinhaltet. Da KDevelop SGML Schablonen verwendet, ist es sehr einfach die Dokumentation zu einem kompletten Hilfesystem zu erweitern. Alles was Sie dazu tun müssen, ist die sgml Datei, die sich in docs/en unter dem Namen index.sgml befindet, zu editieren. Die Referenz Dokumentation Ihres sgml-tools Paketes kann dem Hilfebrowser hinzugefügt werden, erlaubt direkten Zugriff auf spezielle Tags und enthält eine kurze Beschreibung, wie die Dokumentation zu erweitern ist. SGML hat eine Reihe von Vorteilen und KDE macht häufig Gebrauch von diesem Dokumentationstyp zusammen mit dem ksgml2html Programm. Dieses Werkzeug erzeugt die typische Dokumentation im KDE Stil und sorgt dafür, daß sie schöner aussieht. Trotzdem sind auch die sgmtools alleine schon ausreichend, die html Ausgabe zu erzeugen, die Ihre Applikation beinhaltet. Wenn Sie die Dokumentation mit ksgml2html erzeugen wollen, installieren Sie dieses Programm und rufen "Benutzerhandbuch erstellen" aus dem Projektmenü auf. Der Dokumentationsbrowser ermöglicht die sofortige Kontrolle der Ausgabe, indem Sie entweder "Benutzerhandbuch des Projekts" aus dem Hilfemenü oder das entsprechende Icon aus der DOC Baumansicht wählen. Dadurch können Sie direkt in KDevelop durch die Dokumentation browsen und haben so eine bessere Übersicht über die Fehler, die durch fehlende Tags entstehen.

Nun, während Sie die Dokumentation erweitern, ergibt es sich zwangsläufig, daß zusätzliche Dateien erzeugt werden, die zum Projekt hinzugefügt werden müssen, da jeder `sect` Tag eine neue HTML Datei erzeugt. Die Ausgabe des KAppWizard gehört bereits zum Projekt, so daß Sie sich um die Installationspfade keine Gedanken machen müssen. Worauf Sie achten müssen, sind index-xx.html Dateien bei denen xx größer als 6 ist (die ersten sechs Dateien gehören bereits zum Projekt). Nachdem Sie die Dokumentation erzeugt haben, wechseln Sie zum RFV und kontrollieren Ihr Dokumentationsverzeichnis. Drücken Sie die rechte Maustaste über den Dateien und wählen Sie "hinzufügen". Des weiteren fügt ksgm2html dem Dokumentationsverzeichnis das KDE Logo hinzu. Diese Datei, `logotp3.gif`, müssen Sie ebenfalls dem Projekt hinzufügen. Dann müssen Sie "Dateieigenschaften" entweder aus dem Projektmenü oder mit Hilfe des Popup Menüs in den Ansichten wählen. Der einfachste Weg den Installationspfad zu setzen, ist eine bereits zur Installation vorgesehene Dokumentationsdatei zu wählen, wie `index.html`. Sie sehen, daß "Installieren" angekreuzt ist und "Installationsverzeichnis und Dateiname" bereits ein Ziel enthält. Markieren Sie diesen Eintrag und geben Sie STRG+C ein um den Eintrag in's Clipboard zu kopieren. Dann wählen Sie die Datei die Sie als zu installieren spezifizieren wollen. Markieren Sie "Installieren", dies wird das "Installationsverzeichnis und Dateiname" Feld aktivieren, welches dann schon den Dateinamen enthält. Plazieren Sie den Cursor vor dem Dateinamen und geben Sie STRG+V zum Einfügen des Clipboardinhalts ein. Dies ist die schnellste Methode, den Installationspfad einzugeben. Weitere Informationen zur Angabe von Installationszielen finden Sie im KDevelop Programming Handbook.

#### Projekt Hacking

Wenn Sie mit einem Projekt arbeiten, sollten Sie nie die Projektdatei von Hand bearbeiten. Das würde es KDevelop unter bestimmten Umständen unmöglich machen, das Projekt korrekt zu laden und Änderungen würden eventuell nicht richtig in die Makedateien eingetragen. Zum Ändern irgendwelcher Projekt-Einstellungen, müssen Sie immer die vorhandenen Menüeinträge benutzen, z.B. zum Hinzufügen von Dateien oder das Setzen von Dateieigenschaften. Experten, die nicht zufrieden mit bestimmten Optionen sind, z.B. Linkeroptionen oder zusätzliche Möglichkeiten zur Projektkonfiguration benötigen, können sich in die Makefile.am Makros einarbeiten und alle Änderungen in die Makefile.am, hinter dem mit "KDevelop write area" gekennzeichneten Bereich, eintragen. Da die GNU Werkzeuge diese Kommandos verwenden, können Sie damit die KDevelop Einstellungen überschreiben. Denken Sie daran, daß dies die Verwendung von KDevelop für Änderungen an der Projektkonfiguration verhindert.

### 8.5 Compiler und Linker Schalter für Projekte

Jedes neue Projekt enthält alle benötigten Optionen für den Compiler und den Linker, sowie generelle Einstellungen. Standardmäßig ist Debuggen durch den -g Schalter, sowie das Warnen bei allen Fehlern mit -Wall eingestellt. Dies stellt sicher, daß Sie Ihre Applikation debuggen können und Konstruktionen erkennen können, die möglicherweise Programmfehler verursachen würden. Für manche Anwendungen benötigen Sie jedoch noch zusätzliche Compiler- oder Linkerschalter, insbesondere wenn Sie Bibliotheken verwenden, die so nicht eingebunden werden. Dann müssen Sie Ihr Projekt mit Hilfe der Optionen aus dem Projektmenü rekonfigurieren. Lesen Sie das Kapitel Erstellungsoptionen, um mehr über Compiler Optionen, Warnungen und Linkeroptionen zu erfahren.

### 8.6 Externe Projekte

Existierende Projekte können in KDevelop Projekte konvertiert werden, indem sie "Neu" aus dem Projektmenü und anschließend "Eigenes Projekt" wählen. Der folgende Dialog erstellt eine leere Projektdatei mit dem Projektnamen, Versionsnummer und Typinformation, sowie Ihrem Namen und Ihrer EMailadresse. Kopieren Sie dann alle Ihre Kompilations- und Konstruktionsdateien in das neue Projektverzeichnis und wählen Sie "Dateien hinzufügen" aus dem Projektmenü. Die ausgewählten Dateien werden in Ihr Projektverzeichnis kopiert und die Makefile.am's werden aktualisiert. Bitte ändern Sie alle Makefile.am Einträge, die vor der Konvertierung schon bestanden, gemäß den Einträgen die KDevelop in der KDevelop write area vorgenommen hat. Testen Sie, ob sich Ihr Programm nach der Konvertierung immer noch kompilieren und installieren läßt, um so die Konsistenz des Projekts zu prüfen.

Weiter Zurück Inhaltsverzeichnis