Build in Code::Blocks bringt Fehlermeldung bezüglich GCC beim build mit der GTK Lib
-
Hallo @ all,
ich habe im Code blocks ein GTK+ 3.0 Projekt erstellt und vorher die GTK 3 Library installiert ( libgtk-3-dev ). Auch die Einstellungen für Compiler-> other compiler options (
pkg-config gtk+-3.0 --cflags
) und Linker -> other Linker options (pkg-config gtk+-3.0 --libs
-export-dynamic ) gemacht. Trotzdem kriege ich die Fehlermeldung :-------------- Build: Debug in GTK (compiler: GNU GCC Compiler)---------------
gcc -Wall -export-dynamic -g '/usr/bin/pkg-config gtk+-3.0 --cflags’ 'usr/bin/pkg-config gtk+-3.0 --cflags' -c /home/pi/Desktop/C-Programming/Hlech65730/GTK/main.c -o obj/Debug/main.o
/usr/bin/ld: /usr/lib/gcc/i686-linux-gnu/8/../../../i386-linux-gnu/Scrt1.o: in function_start': (.text+0x28): undefined reference to
main'
collect2: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 0 second(s))
2 error(s), 0 warning(s) (0 minute(s), 0 second(s))Hier ist der Code :
[tt]#include <stdlib.h> #include <gtk/gtk.h> static void helloWorld (GtkWidget *wid, GtkWidget *win) { GtkWidget *dialog = NULL; dialog = gtk_message_dialog_new (GTK_WINDOW (win), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "Hello World!"); gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); } int main (int argc, char *argv[]) { GtkWidget *button = NULL; GtkWidget *win = NULL; GtkWidget *vbox = NULL; /* Initialize GTK+ */ g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, (GLogFunc) gtk_false, NULL); gtk_init (&argc, &argv); g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, g_log_default_handler, NULL); /* Create the main window */ win = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_container_set_border_width (GTK_CONTAINER (win), 8); gtk_window_set_title (GTK_WINDOW (win), "Hello World"); gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER); gtk_widget_realize (win); g_signal_connect (win, "destroy", gtk_main_quit, NULL); /* Create a vertical box with buttons */ vbox = gtk_vbox_new (TRUE, 6); gtk_container_add (GTK_CONTAINER (win), vbox); button = gtk_button_new_from_stock (GTK_STOCK_DIALOG_INFO); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (helloWorld), (gpointer) win); gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0); button = gtk_button_new_from_stock (GTK_STOCK_CLOSE); g_signal_connect (button, "clicked", gtk_main_quit, NULL); gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0); /* Enter the main loop */ gtk_widget_show_all (win); gtk_main (); return 0; }[/tt]
Dabezieht sich die Fehlermeldung nicht auf die gtk Lib sondern auf den GCC :
/usr/bin/ld: /usr/lib/gcc/i686-linux-gnu/8/../../../i386-linux-gnu/Scrt1.o: in function_start': (.text+0x28): undefined reference to
main'
also klappt der Einsprung in die main Funktion durch die Funktion _start nicht.
Ach so, es handelt sich um Raspbian/Debian Stretch (9) als BS.
Wie komme ich denn da jetzt weiter ?
Danke, Gruß, Hlech65730
-
Paßt der Pfad zu der
main.c
-Datei?PS: Du hast zweimal
'/usr/bin/pkg-config gtk+-3.0 --cflags'
in dengcc
-Optionen stehen.