C mit Eclipse und GTK
-
Hm haste denn mal versucht, was in der Meldung steht? Also gtk+-2.0.pc suchen und die Umgebungsvariable
PKG_CONFIG_PATH
auf deren Pfad setzen?
-
ich habe den Pfad für c:\gtk\lib\pkconfig bei PKG_CONFIG_PATH und bei PATH gesetzt (wir verstehen uns recht: es geht um Windows), aber ich erhalte die gleichen Meldungen wie am Anfang, sowohl in der Kommandozeile als auch unter Eclipse.
-
Ich wage es nochmal mit einem erneuten Hilferuf:
Inzwischen hab ichs geschafft, dass der pkg-config-Aufruf so expandiert wurde:
pkg-config --cflags --libs gtk+-2.0 -mms-bitfields -IC:/GTK/include/gtk-2.0 -IC:/GTK/lib/gtk-2.0/include -IC:/GTK/include/atk-1.0 -IC:/GTK/include/cairo -IC:/GTK/include/pango-1.0 -IC:/GTK/include /glib-2.0 -IC:/GTK/lib/glib-2.0/include -IC:/GTK/include/freetype2 -IC:/GTK/include -Wl,-luuid -LC:/GTK/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -limm32 -lshell32 -lole32 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpangoft2-1.0 -lpangowin32-1.0 -lgdi32 -lfreetype -lz -lfontconfig -lpango-1.0 -lm -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl
Was davon genau gehört nun unter Miscellaneous von C/C++-Build?
Ich habe es mit allem und Teilen davon versucht.
Und soll das Ganze direkt eingefügt oder in irgendwelche Apostrophen gefasst werden? (Ich habs mit ` ´ und ' versucht)Was mache ich falsch?
-
Direkt einfügen, ohne
. pkg-config solltest du aber zwei Mal aufrufen: einmal mit --cflags (das Ergebnis kommt zu den Compiler-Flags) und einmal mit --libs (das Ergebnis kommt zu den Linker-Flags).
-
Hab ich gemacht, danke.
Ich hatte zuerst das Ganze nur einmal versucht, und mit "Umrahmung", jetzt direkt übernommen. Ähnliches nochmal für den Linker. Es läuft jetzt viel besser, doch einen Haken gibt es leider noch, alles ok bis auf:cannot find -lc:/gtk/lib/glib-2.0
das Verzeichnis gibt es aber, allerdings ist da nur ein include-Ordner drin. Ist das zuwenig?
-
Bin inzwischen schon wieder etwas weiter, wenn auch immer noch nicht fehlerfrei:
cc: gowin32-1.0: No such file or directory
edit: war ein schreibfehler (mir war ein leerzeichen daziwschengerutscht), es bleibt beim obigen Fehler
cannot find -lc:/gtk/lib/glib-2.0
-
Wie wäre es einfach mal mit Copy&Paste von der Konsole? Das ist kein kleines L sondern ein großes I wie Include-Directory.
-
Ist geklärt, hatte auch Copy&Paste verwendet, mir ist aber wohl beim "Feintuning" was daneben geraten.
Diese Fehlermeldung ist weg, jetzt meldet er fürs Einbinden von <gtk/gtk.h> Erfolg.Also ich frohgemut die erste GTK-Anweisung eingefügt. Bisher nur
int main(int argc, char* argv[]) {return 0;}
jetzt erweitert um die Zeile:
gtk_init(&argc, &argv);
Und schon zur Strafe für die Vorfreude diese Meldung:
undefined reference to `gtk_init_abi_check'
-
Ganz blöde Frage: Diesmal alles richtig rüberkopiert?
-
Ja.
Ich hab sogar alles nochmal für ein neues Projekt wiederholt, um ganz sicher zu gehen.
Sobald ich an den Wortschatz von GTK gehe, gibt es Fehlermeldungen wie
"undefined reference to ..."
Fehlen da irgendwelche Zusatzangaben für Compiler/Linker, und wenn ja, welche?
-
Bin inzwischen wieder etwas weiter:
Nun habe ich unter Project-> Properties-> C/C++ Build -> Linker
noch alle Libraries eingetragen.
Und siehe da, es funktioniert, das erste Fenster öffnet sich. Bis jetzt scheitn alles zu klappen.Danke an "devkid" für die Erleuchtung zum richtigen Weg.
-
George3D schrieb:
Nun habe ich unter Project-> Properties-> C/C++ Build -> Linker
noch alle Libraries eingetragen.devkid schrieb:
pkg-config solltest du aber zwei Mal aufrufen: einmal mit --cflags (das Ergebnis kommt zu den Compiler-Flags) und einmal mit --libs (das Ergebnis kommt zu den Linker-Flags).
...
-
Hab ich:
Zweimal in der Konsole pkg-config aufgerufen, einmal mit --cflags, einmal mit --libs,
die Expansionen jeweils in die Flagfelder von Miscellaneous eingefügt.
-
Die Zitate waren jetzt eher als "Warum nicht gleich so?" gedacht.