http://www.pronix.de -> Tutorials -> Compiler-Anleitungen (C) -> Code::Blocks -> Code::Blocks: GIMP-Plug-ins übersetzen


Code::Blocks: GIMP-Plug-ins übersetzen

Hinweis: Diese Anleitung geht natürlich davon aus, dass Sie GIMP bereits installiert haben.

+++ Dateien herunterladen +++

1.  Zuerst sollten Sie sich das komplette GTK+-Paket (mit Headerdateien und Bibliotheken) als "All-in-one"-Paket von http://www.gtk.org/download-windows.html herunterladen. Im Beispiel habe ich die Version 2.16. heruntergeladen.

2. Als nächstes benötigen Sie die Dateien für die GIMP-API. Laden Sie sich hierfür das  gimp-dev-Paket von http://sourceforge.net/projects/gimp-win/files/ herunter. Im Beispiel habe ich das Paket "gimp-dev-2.6.4.zip" heruntergeladen. Darin ist u.a. die Headerdatei <gimp.h> enthalten.

3.  Zum Schluss benötigen Sie noch die Entwicklungsumgebung Code::Blocks von der Webseite http://www.codeblocks.org/downloads/binaries. Hierbei 
sollte es das Paket mit dem MinGW-Compiler  sein (bspw.: codeblocks-8.02-setup.exe).

+++ Dateien installieren +++

4. Als erstes können Sie Code::Blocks installieren (siehe hierzu auch http://www.pronix.de/pronix-1191.html und http://www.pronix.de/pronix-1192.html).

5.  Jetzt können Sie das Gtk+-All-in-one-Paket entpacken. Im Beispiel habe ich das Verzeichnis gtk im Laufwerk C: erstellt, womit ich alles nach C:\gtk entpackt habe. Sollten Sie ein anderes Verzeichnis verwenden, müssen Sie bei der künftigen Anleitung, dass entsprechende Verzeichnis angeben.

6.  Zum Schluss müssen Sie noch gimp-dev-Paket entpacken. Ich habe die Dateien zunächst in ein beliebiges temporäres Verzeichnis entpackt (bspw. "C:\gimp-dev"). In diesem Verzeichnis habe ich jetzt aus "C:\gimp-dev\include\gimp-2.0" alle dort enthaltenen Verzeichnisse (libgimp, libgimpbase, ...) kopiert und in "C:\gtk\include" eingefügt. Dies habe ich daher gemacht, weil sonst bei den meisten Plug-in-Quellcodes ständig die Include-Pfadangabe mit "gimp-2.0" geändert werden müssten (bspw. #include <libgimp/gimp.h>). Das ist lästig und nicht nötig. Jetzt können Sie noch die beiden Verzeichnisse "C:\gimp-dev\bin" und "C:\gimp-dev\lib" kopieren und in "C:\gtk" einfügen. Keine Sorge, es wird nicht überschrieben (nur hinzugefügt). Alles nötige sollte sich jetzt in dem Verzeichnis C:\gtk befinden.

+++ Plug-in übersetzen +++
7.  Starten Sie die Entwicklungsumgebung Code::Blocks und gleich darauf ein neues Projekt über das Menü File * New * Project. Wählen Sie als Projettyp Gtk+ project aus und klicken Sie auf die Schaltfläche Go. Beim sich darauf folgenden Dialog klicken Sie gleich wieder auf  Next.

Ein neues Gtk+-Projekt erstellen

8.  Als nächstes vergeben Sie den Projektname (Project title) vergeben. Hier bspw. halloWelt. Das Verzeichnis, wo das Projekt erzeugt wird, können Sie auch auswählen (Folder to create project in). Der Rest wird automatisch anhand dieser Daten vervollständigt. Klicken Sie erneut auf die Schaltfläche Next.

Projectname vergeben

9.  Jetzt müssen Sie das GTK-Verzeichnis angeben. Beim ersten Start werden Sie gleich nach den gloabeln Variablen von GTK+ gefragt. Die Schritte 9 und 10 müssen Sie nur erstmalig durchführen, um Code::Blocks mit den Headerdateien und Bibliotheken von Gtk+ bekannt zu machen. Beim nächsten Gtk+-Projekt brauchen Sie lediglich auf die Schaltfläche Next klicken. Steht hier die Zeichenfolge $(#gtk) so weiß Code::Blocks noch nicht, wo sich Gtk+ befindet. Klicken Sie daher beim erstmaligen Einrichten die Schaltfläche mit den drei Punkten (...) neben dem Textfeld von GTK's location.

Gimp-Plug-in


10.  Jetzt öffnet sich ein Fenster mit dem Titel Global Variable Editor, wo Sie angeben können, wo sich Gtk+ auf Ihrem System befindet. Ich habe bspw. Gtk+ im Verzeichnis C:\gtk kopiert und gebe daher dieses Verzeichnis bei base an. Mit der Schaltfläche mit den drei Punkten können Sie sich dieses Verzeichnis auch bequem auswählen. Ebenso habe ich hier die Angaben zum include-Verzeichnis (in meinem Fall: C:\gtk\include) und lib-Verzeichnis (in meinem Fall: C:\gtk\lib), wo sich die Headerdateien und nötigen Bibliotheken befinden, angegeben. Sollten sich diese Daten mal ändern, weil Sie bspw. eine neuere oder andere Version von Gtk+ verwenden oder Gtk+ in ein anderes Verzeichnis kopiert haben, können Sie dieses Fenster Global Variable Editor jederzeit nachträglich über das Menü Settings * Global variables... aufrufen und die Angaben wieder ändern.

GIMP-Plug-in

11.  Im nächsten Fenster können Sie den Compiler auswählen, den Sie für das Projekt verwenden wollen. Standardmäßig dürfte dies der GNU GCC Compiler (MinGW) sein. Hierbei können Sie auch einstellen, ob Sie eine Debug- und/oder Release-Version des Projekts erstellen wollen und ein Häkchen davor setzen. Sie können dabei auch das Verzeichnis ändern, wo (ausgehend vom Verzeichnis welches Sie für Folder to create project in im Schritt 8 zuvor verwendet haben) sich anschließend das ausführbare Programm befinden soll.

GIMP-Plug-in

12. Wählen Sie jetzt im Verzeichnisbaum auf der linken Seite unter dem Reiter Projects die Quelldatei main.c mit dem Hallo-Welt-Beispiel aus. Markieren Sie im Editor den Quellcode und Löschen Sie den Text. Jetzt können Sie Ihren eigenen Quelltext des Plug-ins für main.c eingeben (oder eben per Copy & Paste einfügen). Sie können auch das Hallo-Welt-Beispiel von der Gimp-Devoloper-Webseite verwenden.

Hinweis: Im Grunde haben Sie jetzt alle nötigen Hebel eingestellt um echte GTK+-Anwendungen unter Windows zu entwickeln. Für GIMP-Plug-ins fehlen aber noch ein paar Hebel.

Gimp-Plug-in

13.  Hierbei können Sie schon mal das Beispiel über Build * Compile Current File (bzw. der Tastenkombination: (STRG)+(SHIFT)+(F9))durch den Compiler laufen lassen. Bauen können Sie allerdings die EXE-Datei noch  nicht. Hierzu fehlen noch die Angaben für den Linker zur Bibliothek von GIMP.

GIMP-Plug-in


14.  Gehen Sie auf das Menü Project * Build Options und wählen Sie den Reiter Linker settings. Klicken Sie hier auf die Schaltfläche Add und fügen Sie jetzt die benötigen GIMP-Bibliotheken hinzu. Diese Bibliotheken sind im gleichen Verzeichnis wo Sie GIMP (gimp.exe) selbst auch installiert haben.. In meinem Beispiel ist dies C:\Program Files\GIMP-2.0-stabil\bin.

Gimp-Plug-in

Klicken Sie im Dateiauswähl-Dialog auf All files und wählen Sie jetzt am besten mit gehaltener (STRG)-Taste alle DLL-Dateien in diesem Verzeichnis aus.

Gimp-Plug-in

Es ist zwar nicht unbedingt nötig alle DLLs auszuwählen, aber Sie sind hierbei auf der sicheren Seite. Jetzt sollten eine ganze Menge DLLs unter Link libraries bei Linker settings aufgelistet sein. Klicken Sie auf die Schaltfläche Ok.

Gimp-Plug-in

15.  Klicken Sie auf Build * Build  (bzw.: (STRG)+(F9)) und Sie haben das Plug-in erstellt.
Hinweis: Sollten Sie einen Fehler wie "main.c: undefined reference to `gimp_main'..." erhalten, bedeutet dies, dass Sie die GIMP-Bibliotheken vom Schritt 14 nicht richtig hinzugefügt haben.

Gimp-Plug-in


16. Jetzt müssen Sie nur noch die EXE-Datei in ein Plug-in-Verzeichnis von GIMP kopieren. Wo das bei Ihnen ist, können Sie bei gestartetem GIMP  mit Bearbeiten * Einstellungen * Ordner * Plugins ermitteln. Beim nächsten Neustart von GIMP sollte das Plug-in unter Filter * Misc * Hello World  ausführbar sein.

GIMP-Plug-in

Das Hallo-Welt-Plug-in bei der Ausführung:

GIMP-Plug-in