Ich versuche, einige Beispiel-GTK + -Beispiele zu erstellen, die mit den GTK + -Quellen geliefert wurden. Ich brauchte nur ein GTK + UI für ein C-Programm. Ich habe gtk + heruntergeladen und gebaut, aber realisiert (durch SO), dass das nicht nötig war und ich nur libgtk-3-dev brauche.Ich kann kein Beispiel für ein GTK + -Programm erstellen
sudo apt-get install libgtk-3-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libgtk-3-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 373 not upgraded.
EDIT: HINWEIS: Problem ist nicht mit der Sequenz von Bibliotheken oder enthält, wie ich die Make-Datei verwenden, die mit GTK + kam.
Ich habe versucht, ein Beispiel zu erstellen, das ich mit dem gtk + Code hatte, den ich heruntergeladen habe. Ich bekomme die folgenden Fehler. Die anderen Abfragen zu diesem Thema erwähnten, dass die Reihenfolge der Flags wichtig ist, aber in diesem Fall habe ich das Makefile verwendet, das mit den Quellen geliefert wurde. Sollte ich etwas mehr installieren als die Bibliothek libgtk-3-dev (läuft unter Ubuntu 14.04).
~/gtk/examples/application1$ make -f Makefile.example
cc -c -o main.o -pthread -I/usr/include/GTK-3,0 -I/usr/include/ANG-1,0 -I/usr/include/at-SPI2-ANG/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/-I/usr/include/kairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include /glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 main.c cc -c -o beispielapp.o -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2 -atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/-I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman- 1 -I/usr/include/li bpng12 exampleapp.c cc -c -o Beispielappwin.o -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 - I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/-I/usr/include/kairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib -2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 exampleappwin.c cc -o Beispielanwendung -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2,0 main.o exampleapp.o exampleappwin.o main.o: In Funktion main': main.c:(.text+0x11): undefined reference to
g_application_get_type ' main.c :(text + 0x24). undefinierter Bezug auf g_type_check_instance_cast' main.c:(.text+0x35): undefined reference to
g_application_run' exampleapp.o: In Funktion example_app_class_intern_init': exampleapp.c:(.text+0x14): undefined reference to
g_type_class_pee k_parent‘ exampleapp.c :(text + 0x36). undefinierter Bezug auf g_type_class_adjust_private_offset' exampleapp.o: In function
example_app_get_type ': exampleapp.c :(text + 0x66):.. undefinierter Bezug auf g_once_init_enter' exampleapp.c:(.text+0x84): undefined reference to
g_intern_static_string' exampleapp.c :(text + 0x8C) : undefined Bezug auf gtk_application_get_type' exampleapp.c:(.text+0xb4): undefined reference to
g_type_register_static_simple‘ exampleapp.c :(text + 0xC9.): undefiniert Bezug auf g_once_init_leave' exampleapp.o: In function
example_app_activate ': exampleapp.c :(text + 0x104). undefinierter Bezug auf g_type_check_instance_cast' exampleapp.c:(.text+0x115): undefined reference to
gtk_window_get_type' exampleapp.c :(.text + 0x127): undefinierter Verweis auf g_type_check_instance_cast' exampleapp.c:(.text+0x12f): undefined reference to
gtk_window_present ' Beispielapp.o: In der Funktion example_app_open': exampleapp.c:(.text+0x14d): undefined reference to
gtk_application_get_type' exampleapp.c :(.text + 0x15f): undefined Bezug auf g_type_check_instance_cast' exampleapp.c:(.text+0x167): undefined reference to
gtk_application_get_windows' exampleapp.c :(text + 0x18c.): undefiniert Bezug auf g_type_check_instance_cast' exampleapp.c:(.text+0x1a9): undefined reference to
g_type_check_instance_cast ' exampleapp.c :(text + 0x1f5): undefiniert Bezug auf gtk_window_get_type' exampleapp.c:(.text+0x207): undefined reference to
g_type_check_instance_cast' exampleapp.c :(Text. + 0x20f): undefiniert Bezug auf gtk_window_present' exampleapp.o: In function
example_app_class_init ': exampleapp.c :(text + 0x222). undefinierten Bezug auf g_application_get_type' exampleapp.c:(.text+0x234): undefined reference to
g_type_check_class_cast' exampleapp.c :(text + 0x244). undefinierten Bezug auf g_application_get_type' exampleapp.c:(.text+0x256): undefined reference to
g_type_check_class_cast‘ ExampleApp.o: In Funktion example_app_new': exampleapp.c:(.text+0x294): undefined reference to
g_object_new ' exampleappwin.o: In Funktion example_app_window_class_intern_init': exampleappwin.c:(.text+0x14): undefined reference to
g_type_class_peek_parent'. exampleappwin.c :(text + 0x36): undefined Verweis auf g_type_class_adjust_private_offset' exampleappwin.o: In function
example_app_window_get_type ': exampleappwin.c :(text + 0x66):. undefined reference zu g_once_init_enter' exampleappwin.c:(.text+0x84): undefined reference to
g_intern_static_string ' exampleappwin.c :(text + 0x8C):. undefinierter Bezug auf gtk_application_window_get_type' exampleappwin.c:(.text+0xb4): undefined reference to
g_type_register_static_simple'. exampleappwin.c :(text + 0xC9): undefiniert Bezug auf g_once_init_leave' exampleappwin.o: In function
example_app_window_new ':. exampleappwin.c :(text + 0x117): undefinierter Verweis auf `g_object_new ' collect2: Fehler: ld zurückgegeben 1 Exit-Status make: *** [exampleapp] Fehler 1
Ubuntu 14.04 kommt nur mit GTK + 3.10; Sie können damit keine Beispiele für neuere Versionen von GTK + erstellen. Holen Sie sich eine Version des GTK + 3.10 Quellcodes und die Beispiele sollten erstellt werden. – andlabs
Mögliches Duplikat von [Warum führt die Reihenfolge, in der Bibliotheken verknüpft sind, manchmal zu Fehlern in GCC?] (Http://stackoverflow.com/questions/45135/why-does-the-order-in-which-libraries-are- linked-times-cause-Fehler-in-gcc) TL; DR move 'main.o' vor allen' -lxxx'. –
@ n.m. Sie versuchen, ein Beispiel zu erstellen, das mit der Quelle GTK + geliefert wird, nicht mit einem eigenen Programm. Diese Beispiele haben bereits ein korrektes Makefile. Wenn das hier tatsächlich das Problem ist, dann sind diese Makefiles kaputt ... – andlabs