Creo que esta no es una pregunta duplicada, he visto todas las preguntas/respuestas antes de publicar esta pregunta. Creo que tengo una situación diferente aquí.Compilando y enlazando el proyecto GTK 3 con C en Ubuntu
Uso Ubuntu 12.04 y descargué GTK 2 y 3. Copié un código fuente GTK simple del sitio web de GNOME. Pero cuando se utiliza este comando en el terminal:
gcc `pkg-config --cflags --libs gtk+-3.0` hello.c -o hello
me sale esto:
hello.c:(.text+0x17): undefined reference to `gtk_init'
hello.c:(.text+0x23): undefined reference to `gtk_window_new'
hello.c:(.text+0x47): undefined reference to `gtk_main_quit'
hello.c:(.text+0x5b): undefined reference to `g_signal_connect_data'
hello.c:(.text+0x67): undefined reference to `gtk_widget_show'
hello.c:(.text+0x6c): undefined reference to `gtk_main'
Aquí está mi código:
#include <gtk/gtk.h>
int
main (int argc,
char *argv[])
{
GtkWidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_widget_show (window);
gtk_main();
return 0;
}
No estoy seguro de si los errores aparecerá porque tengo dos versiones de GTK + o qué. Soy extremadamente novato en el desarrollo de aplicaciones en Ubuntu/Linux.
Compilar como 'gcc hello.c $ (PKG-config --cflags --libs gtk + -3.0) -O hello' es decir, de origen antes de libs –
Oh, Dios mío, funcionó. Muchas gracias. Podría poner su respuesta a continuación para marcarla como la respuesta. – Anwar