Lazarus
ist eine visuelle Entwicklungsumgebung für die Programmiersprache Pascal und stellt eine freie Alternative zu Delphi für Windows und dem eingestellten Linux-Port Kylix dar. Unterstützt wird der plattformunabhängige Free Pascal-Compiler und mehrere populäre GUI-Toolkits wie GTK2 und QT. Zudem stehen eine ganze Reihe vorgefertigter Komponenten z.B. für Datenbankverbindungen zur Verfügung.
Lazarus liegt in den offiziellen Ubuntu-Paketquellen. Man installiert das Paket [1]
lazarus (universe, [2])
Dabei wird auch Free Pascal als Abhängigkeit installiert.
Um GTK+ Programme mit Lazarus erstellen zu können, müssen die folgenden Pakete installiert [1] werden:
libgtk1.2-dev
libgdk-pixbuf-dev (ab Dapper in universe, [2])
build-essential
Auf http://www.hu.freepascal.org/lazarus
gibt es eine Ubuntu-Quelle für stabile Lazarus-Pakete und Entwicklerversionspakete und Free Pascal.
Um aus der Fremdquelle zu installieren, muss man, unabhängig von der Ubuntu-Version, die folgende Paketquelle freischalten:
Zusätzliche Fremdquellen können das System gefährden.
deb http://www.hu.freepascal.org/lazarus/ lazarus-stable universe
Um die Fremdquelle zu authentifizieren, kann man den Signierungsschlüssel mit folgendem Befehl importieren:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 6A11800F
Die Installation erfolgt wie oben beschrieben.
Um aus der Fremdquelle zu installieren, muss man, unabhängig von der Ubuntu-Version, die folgende Paketquelle freischalten:
Zusätzliche Fremdquellen können das System gefährden.
deb http://www.hu.freepascal.org/lazarus/ lazarus-testing universe
Um die Fremdquelle zu authentifizieren, kann man den Signierungsschlüssel mit folgendem Befehl importieren:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 6A11800F
Die Installation erfolgt wie oben beschrieben.
Um Fehlermeldungen beim Starten bzw. Kompilieren zu Vermeiden, werden folgende Pakete empfohlen:
fpc-source (universe, [2])
Im Allgemeinen benötigt man wohl alle zur Verfügung stehenden Units. Dies geschieht anhand des Befehls
sudo apt-get install "fp-units-*"
Alle diese Units liegen in universe.
Lazarus kann nun entweder über "Anwendungen -> Entwicklung -> Lazarus" oder mit dem Befehl [5] lazarus bzw. lazarus-ide gestartet werden.
|
| GTK 2 Oberfläche |
Ein Hallo-Welt Testprogramm mit grafischer Oberfläche lässt sich dank der visuellen Programmierumgebung sehr schnell erstellen. Schon beim Start von Lazarus steht ein Basisgrundgerüst für ein Programm zur Verfügung, dass sich auch schon kompilieren lässt. Es handelt sich jedoch um ein leeres Programm.
Mit
F12 lässt sich zwischen Quelltexteditor und einer Entwurfsansicht der grafischen Oberfläche hin und her wechseln. Um dem Beispielprogramm einen Knopf hinzuzufügen wählt man aus der Menüleiste "Standard" die Schaltfläche
an und platziert ihn mit einem Linksklick in der Entwurfsansicht. Daraufhin klickt man doppelt auf den neu angelegten Knopf und landet im Quelltexteditor. Der Cursor befindet sich genau innerhalb einer neu angelegten Funktion. Man ergänzt noch ShowMessage ('Hallo Welt'), um eine einfache Nachrichtenbox zu erhalten, die auf Knopfdruck erscheint.
Der Teilabschnitt des Quelltextes soll im Endeffekt so aussehen:
1 2 3 | procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage ('Hallo Welt'); end; |
Nun drückt man F9 oder den grünen Pfeil um das Programm zu kompilieren und auszuführen.
Um die Entwicklungsumgebungen noch ein bisschen weiter zu erkunden kann man sein Programm erstmal abspeichern und noch weiter modifizieren. Um die grafische Oberfläche noch weiter anzupassen kann man den Objektinspektor verwenden. Im Objektinspektor auf der rechten Seite sind alle Bestandteile der grafischen Oberfläche gelistet. Objekte mit veränderbaren Eigenschaften sind z.B. das Fenster ("TForm") und der Knopf ("TButton"). Diese Objekte können auch Signale auslösen, die wiederum mit Quelltext verknüpft werden. In diesem Beispiel löst das Ereignis "OnClick" des Knopfes die Prozedur "TForm1.Button1Click" aus, die in diesem Fall ein simples Nachrichtenfenster öffnet.
Da diese Komponenten zur LCL (Lazarus Component Library) gehören, werden damit erstellte Anwendungen meist recht groß.
Lazarus wurde bis Version 0.9.26 standardmäßig mit der etwas in die Jahre gekommenen GTK-1-Oberfläche ausgeliefert, da dies die stabilste Implementierung im Free Pascal Projektes darstellt. Es werden jedoch noch mehr GUI-Toolkits von der Lazarus Component Library unterstützt. In neueren Versionen ist beispielsweise GTK2 im Einsatz. Um die Oberfläche zu wechseln, startet man Lazarus ausnahmsweise mit Root-Rechten [5].
sudo startlazarus
und lässt Lazarus sich selbst kompilieren. Dafür wählt man in der Menüleiste
"Werkzeuge -> 'Lazarus erstellen' einrichten"
Man setzt alle Beiträge auf "Clean + Build" und setzt einen Haken bei "Alles säubern". Nutzer von Ubuntu und Xubuntu wählen "gtk2", während Nutzer von Kubuntu "qt" auswählen, um nicht zu viele Abhängigkeiten nachinstallieren zu müssen. Danach drückt man den Knopf "Erstellen", geduldet sich ein bisschen und startet Lazarus mit Standard-Benutzerrechten neu und arbeitet normal weiter.
Falls man Lazarus aus dem Quellcode kompiliert und nicht das GTK-2- bzw. GTK-1-Toolkit verwenden möchte, kompiliert man Lazarus mit dem Befehl
make clean all LCL_PLATFORM=das_toolkit
wobei das_toolkit unter Kubuntu durch qt ersetzt werden sollte, und wenn man GTK-1 bevorzugt, reicht gtk.
Sollte es unter Jaunty zu Problemen beim Kompilieren mit dem QT-Widgetset kommen, muss man Lazarus eventuell manuell neu kompilieren mit dem Befehl
make clean all LCL_PLATFORM=qt OPT="-dUSE_QT_45"
Es kann bei der Verwendung von QT 4.5 vorkommen, dass die Fenster der Lazarus-IDE und der kompilierten Projekte sich weder über den üblichen Schließen-Knopf, noch über das Kontextmenü des jeweiligen Fensters schließen lassen. In diesem Fall hilft eine Änderung der Datei qtwsforms.pp: Die Zeile
Flags := Flags or GetQtBorderIcons(ABorderIcons) or QtWindowTitleHint;
muss durch
Flags := Flags or GetQtBorderIcons(ABorderIcons) or QtWindowTitleHint or $08000000 or QtCustomizeWindowHint;
ersetzt werden. Wenn Lazarus danach mit oben genanntem Befehl neu kompiliert, sollten die Fenster wieder einen Schließen-Knopf anbieten.
Wenn die Schriftart in der GTK-1-Oberfläche zu klein und unleserlich ist, kann man dies unter "Einstellungen -> Editoreinstellungen -> Anzeige" ändern.
Wenn Lazarus beim Kompilieren den Fehler
Fatal: Can't find unit glib
anzeigt, wurde unter Umständen die Datei /etc/fpc.cfg bei der Installation nicht erstellt. Dies sollte man dann selbst mit einem Editor mit Root-Rechten [6] nachholen. Der Inhalt lautet wie folgt:
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/* -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl
Oftmals werden die ausführbaren Dateien über 10 MB groß. Dies kann einen der folgenden Gründe haben:
Die einfachste Lösung ist, die Debuginfos zu entfernen und so die Datei zu verkleinern:
strip <kompiliertes-projekt>
Free Pascal wurde falsch konfiguriert. In Projekt -> Compilereinstellungen kann man verschiedene Einstellungen ausprobieren. Achtung: Das Programm startet eventuell nicht mehr aus Lazarus heraus.
Der Linker wurde falsch konfiguriert. Wenn man einen Build veröffentlichen will, sollte man die Debuggersymbole aus der Datei entfernen, die entsprechenden Einstellungen finden sich in Projekt -> Compilereinstellungen unter dem Reiter Linken.
Es wurden Units eingebunden,die nicht benötigt werden. Bei der Compilierung werden diese meistens mit Hinweisen aufgelistet.
Diese Revision wurde am 29. Oktober 2009 um 01:12 Uhr
von oliverhorn erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet:
Programmierung
2004 – 2010 ubuntuusers.de • Einige Rechte vorbehalten