An Blue-Tiger: gktmm unter Windows
-
Hi Blue-Tiger.
Was muss ich alles downloaden um mit gtkmm unter Windows loszulegen?
Und wo finde ich die Installationsanleitung(en)?Den MinGW Compiler hab ich bereits.
GUI-Designer brauch ich nicht.
-
Ich habe schon diese Seite für gtk+ (das brauch man ja vorher, oder?) gefunden:
Da steht aber das die diesen Port nicht mehr weiterentwickelt.
-
Jemand von uns sollte mal ein schönes Paket zusammenbauen das man einfach nur noch kopieren muss und kurz die Pfade hinzufügen muss.
Dann wäre das bestimmt sehr beliebt.
-
Disclaimer: alles was ich getan habe, war gtkmm unter Dev-Cpp unter WinXP zum Laufen zu bringen, ob mich das qualifiziert hier jedem im Board detailierte Anweisungen darueber zu geben wage ich zu bezweifeln.
Ich kann dir nur sagen, wie ich gtkmm mit dem Dev-Cpp zum Laufen gebracht habe. Wenn du nur den MinGW alleine hast (also ohne Dev-C++ IDE), dann wuerd ich dir empfehlen, Dev-C++ von http://www.bloodshed.net/dev/devcpp.html zu installieren. Ich denke zwar, das Ganze funktioniert auch mit dem MinGW - Studio, habs aber nie selbst getestet (wer's weiss, solls einfach mal posten)
ANLEITUNG:
1. Unter http://gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/ findest du die aktuelle Dokumentation zu gtkmm 2.4. Dort findest du auch einen Link zur Installation unter Windows (http://gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/ape.html).
2. Wie auf der Seite beschrieben, musst du, bevor du gtkmm installieren kannst, erstmal GTK+ installieren (solltest du's nicht wissen: GTKmm baut auf GTK+ auf). Sowohl die Runtime (die nachher jeder, der dein Programm benutzen will, auch benoetigt) als auch die Entwicklungslibrary (die nur du zum Kompilieren der Programme benoetigst).
(ACHTUNG: NACHFOLGENDER TEIL IST OPTIONAL!!!!)
Die beiden Pakete, die GTK+ Runtime und Developmentlibrary, bekommst du beide zusammen in einen netten Installer gepackt unterhttp://gladewin32.sourceforge.net/
Auf der in der GTKmm-Dokumentation erwaehnten Seite www.dropline.net bekommst du leider nur noch veralterte Versionen, mit denen gtkmm2.4 nicht funktionieren wird. Also deinstallier sie besser gleich wieder.
Was du von der Gladewin32-Seite jetzt brauchst ist der "All In One" Installer. -> Downloaden & Installieren (Ich kann mich auch irren, aber mir kommt vor, dass es nur funktioniert, wenn du DIREKT in das Dev-Cpp Hauptverzeichnis installierst. also z. B. nach 'c:\dev-cpp', nicht nach 'c:\dev-cpp\gtk' oder 'c:\gtk'... du kannst es gern anders versuchen => lass es mich wissen, wenn's dann auch klappt!!!)
(OPTIONALER TEIL, ENDE)3. Nun kannst du GTKmm fuer Windows runterladen
http://www.pcpm.ucl.ac.be/~gustin/win32_ports/gtkmm.htmlDu brauchst das Paket "gtkmm 2.4.4 for Mingw". Wenn du vorher GTK++ von GladeWin32 nicht installiert hast, dann wird der Installer von gtkmm das jetzt fuer dich erledigen, und sich anschliessend selbst installieren. Auch hier gilt wieder: am besten DIREKT ins Dev-Cpp Hauptverzeichnis.
Danach am besten den PC neu starten, damit Windows auch sicher die %PATH% - Umgebungsvariable anpasst (unter Win98)
Nachdem das gemacht ist, reicht es, die nachfolgenden Schritte so auszufuehren, wie sie in der GTKmm-Dokumentation ab "Compiling gtkmm Apps with Dev-C++" beschrieben wird (Direktlink: http://gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/ape.html#id2521845).
Zumindest bei mir (Windows XP). In einem anderen Thread scheinen Leute Probleme zu haben, wenn sie Win98 verwenden.
So, detailierte Installationsanleitungen kann ich dir leider nicht bieten, hab auch im Netz keine gefunden, sorry. Bei Problemen meld dich einfach im Forum
-
Blue-Tiger kann es sein das die Include und Library Angaben hier
http://gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/ape.html#id2521845
nicht ganz vollständig und nicht ganz richtig sind? Ich musste noch ein paar mehr Verzeichnisse hinzufügen wie zum Beispiel
include\pangomm-1.4
include\atkmm-1.6
...War das bei dir auch so?
-
Anleitung für MinGW Developer Studio
Ladet euch zuerst diese Datei runter:
http://www.pcpm.ucl.ac.be/~gustin/win32_ports/binaries/gtkmm-2.4.4-1.exe
Wenn ihr GTK+ noch nicht installiert habt, wird euch das Installationsprogramm fragen, ob es das runterladen soll. Das bestätigt ihr und installiert GTK+ ins Verzeichnis C:\GTK+. Dannach geht die Installation mit gtkmm weiter. Dort nehmt ihr das Verzeichnis C:\gtkmm.
Nach erfolgreicher Installation startet ihr ein neues Konsolen Projekt im MinGW Developer Studio. Dann geht ihr im Menü unter Edit/Options. Im Optionsdialog geht ihr auf den Reiter Directories und dann fügt ihr diese 16 Pfade unter "Include files" ein. (*gähn* :D)
C:\GTK+\include\gtk-2.0
C:\GTK+\lib\gtk-2.0\include
C:\GTK+\include\glib-2.0
C:\GTK+\lib\glib-2.0\include
C:\GTK+\include\pango-1.0
C:\GTK+\include\atk-1.0
C:\gtkmm\include\gtkmm-2.4
C:\gtkmm\lib\gtkmm-2.4\include
C:\gtkmm\include\sigc++-2.0
C:\gtkmm\lib\sigc++-2.0\include
C:\gtkmm\include\glibmm-2.4
C:\gtkmm\lib\glibmm-2.4\include
C:\gtkmm\include\gdkmm-2.4
C:\gtkmm\lib\gdkmm-2.4\include
C:\gtkmm\include\pangomm-1.4
C:\gtkmm\include\atkmm-1.6Habt ihr das dann hinter euch fügt ihr noch folgendes unter "Library files" ein
C:\GTK+\lib
C:\gtkmm\libDann auf "OK" um die Einstellungen abzuspeichern.
Dann im Menü auf Project/Settings gehen. Dann den Reiter "Link" auswählen und im Eingabefenster "Libraries" folgende Zeile einfügen:
gtkmm-2.4; gdkmm-2.4; atkmm-1.6; gtk-win32-2.0; pangomm-1.4; glibmm-2.4; sigc-2.0; gdk-win32-2.0; atk-1.0; gdk_pixbuf-2.0; pangowin32-1.0; pango-1.0; gobject-2.0; gmodule-2.0; glib-2.0; intl; iconv
Dannach den Dialog mit "OK" verlassen.
Jetzt könnt ihr mal diese Code testen:
#include <iostream> #include <gtkmm/main.h> #include <gtkmm/button.h> #include <gtkmm/window.h> class HelloWorld : public Gtk::Window { public: HelloWorld() : m_button("Hello World") { // Sets the border width of the window. set_border_width(10); // When the button receives the "clicked" signal, it will call the // hello() method. The hello() method is defined below. m_button.signal_clicked().connect(sigc::mem_fun(*this, &HelloWorld::on_button_clicked)); // This packs the button into the Window (a container). add(m_button); // The final step is to display this newly created widget... m_button.show(); } virtual ~HelloWorld() { } protected: //Signal handlers: virtual void on_button_clicked() { std::cout << "Hello World" << std::endl; } //Member widgets: Gtk::Button m_button; }; int main (int argc, char *argv[]) { Gtk::Main kit(argc, argv); HelloWorld helloworld; Gtk::Main::run(helloworld); //Shows the window and returns when it is closed. return 0; }
-
Ich habe gerade die Library Einstellungen etwas aussortiert. Man brauch die GTK+-Libraries gar nicht mitlinken. Somit kann man C:\GTK+\lib aus den MinGW "Library Directories" entfernen.
Die folgendes Libraries genügen für das Hello-World Programm und die Color-Selector Demo zu erstellen:
gtkmm-2.4; gdkmm-2.4; glibmm-2.4; atkmm-1.6; sigc-2.0
-
Für den, der nicht die ganzen Include-Directories beim MinGW Developer Studio einfügen möchte gibt es noch folgende Alternative:
Menü => Project => Settings
Reiter Compile => Extra compiling options
Das einfügen:
-IC:/gtkmm/include/gtkmm-2.4 -IC:/gtkmm/lib/gtkmm-2.4/include -IC:/gtkmm/include/glibmm-2.4 -IC:/gtkmm/lib/glibmm-2.4/include -IC:/gtkmm/include/gdkmm-2.4 -IC:/gtkmm/lib/gdkmm-2.4/include -IC:/gtkmm/include/pangomm-1.4 -IC:/gtkmm/include/atkmm-1.6 -IC:/gtkmm/include/sigc++-2.0 -IC:/gtkmm/lib/sigc++-2.0/include -IC:/GTK+/include/gtk-2.0 -IC:/GTK+/include/glib-2.0 -IC:/GTK+/lib/glib-2.0/include -IC:/GTK+/lib/gtk-2.0/include -IC:/GTK+/include/pango-1.0 -IC:/GTK+/include/atk-1.0
Reiter Link => Extra linking options
Das einfügen:
-LC:/gtkmm/lib -LC:/GTK+/lib -lgtkmm-2.4 -lgdkmm-2.4 -latkmm-1.6 -lgtk-win32-2.0 -lpangomm-1.4 -lglibmm-2.4 -lsigc-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv
Wenn man es auf diesem Weg macht, muss man es halt bei jedem Projekt neu einstellen.
-
vkg schrieb:
Blue-Tiger kann es sein das die Include und Library Angaben hier
http://gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/ape.html#id2521845
nicht ganz vollständig und nicht ganz richtig sind? Ich musste noch ein paar mehr Verzeichnisse hinzufügen wie zum Beispiel
include\pangomm-1.4
include\atkmm-1.6
...War das bei dir auch so?
ich hab einfach Eingefuegt was pkg-config mir ausgespuckt hat, und dann hats eigentlich gepasst
-
Achso
Na dann ist ja alles klar. Denn auf der Seite stehen nur 10 Include-Verzeichnisse und pkg-config gibt 16 Stück aus.
-
Danke erstmal für diese sehr umfangreiche Anleitung
, leider bekomme ich imm er wenn ich die Binary ausfüren möchte, eine hässliche Fehlermeldung:
Der Prozedureinsprungpunkt "pango_render_part_get_type" wurde in der DLL "libpango-1.0.-0.dll" nicht gefunden.
Was soll ich machen???
PS.: Wollte ja eigendlich VCF nutzen, das bekomm ich aber überhaupt nicht installiert