problemas con glade

Imagen de mayron
0 puntos

Hola,

Soy nueva en este foro y no se muy bien cómo va. Tampoco sé si mi problema es de este foro en particular :-S (sino ya la cpiaré y lo pegaré en otro :-P)

Tengo hecha una aplicación sin ningún IDE y he hecho la interfaz con glade. Ahora tengo que juntar mi código con el de la interfaz.

Lo que he hecho es coger los archivos que el glade te crea en la carpeta src (main.c, suppor.c y .h, callbacks.c y .h y interface.c y.h), copiarlos y pegarlos en una carpeta, ellos sólos, e intentar compilarlos, con esta línea:
gcc `gtk-config --cflags` -o main main.c interface.c callbacks.c support.c `gtk-config --libs`

Para depués copiar mis archivos a esta carpeta y empezar a 'mezclarlos'.

No sé cuál es el problema, pero me da un montonazo de líneas d error:

bash: gtk-config: orden no encontrada
bash: gtk-config: orden no encontrada
main.c:10:21: error: gtk/gtk.h: No existe el fichero ó directorio
In file included from main.c:12:
interface.h:5: error: syntax error before ‘*’ token
interface.h:5: aviso: la definición de datos no tiene tipo o clase de almacenamiento
In file included from main.c:13:
support.h:46: error: syntax error before ‘*’ token
support.h:46: error: syntax error before ‘*’ token
support.h:47: aviso: la definición de datos no tiene tipo o clase de almacenamiento
support.h:51: error: syntax error before ‘*’ token
support.h:59: error: syntax error before ‘*’ token
support.h:59: error: syntax error before ‘*’ token
support.h:60: aviso: la definición de datos no tiene tipo o clase de almacenamiento
support.h:63: error: syntax error before ‘*’ token
support.h:63: error: syntax error before ‘*’ token
support.h:63: aviso: la definición de datos no tiene tipo o clase de almacenamiento
support.h:66: error: syntax error before ‘*’ token
main.c: En la función ‘main’:
main.c:18: error: ‘GtkWidget’ no se declaró aquí (primer uso en esta función)
main.c:18: error: (Cada identificador no declarado solamente se reporta una vez
main.c:18: error: para cada funcion en la que aparece.)
main.c:18: error: ‘window1’ no se declaró aquí (primer uso en esta función)
main.c:29: error: ‘PACKAGE_DATA_DIR’ no se declaró aquí (primer uso en esta función)
main.c:29: error: syntax error before string constant
interface.c:15:28: error: gdk/gdkkeysyms.h: No existe el fichero ó directorio
interface.c:16:21: error: gtk/gtk.h: No existe el fichero ó directorio
In file included from interface.c:18:
callbacks.h:6: error: syntax error before ‘*’ token
callbacks.h:10: error: syntax error before ‘*’ token
callbacks.h:14: error: syntax error before ‘*’ token
callbacks.h:18: error: syntax error before ‘*’ token
callbacks.h:22: error: syntax error before ‘*’ token
callbacks.h:26: error: syntax error before ‘*’ token
callbacks.h:30: error: syntax error before ‘*’ token
callbacks.h:34: error: syntax error before ‘*’ token
callbacks.h:38: error: syntax error before ‘*’ token
callbacks.h:42: error: syntax error before ‘*’ token
callbacks.h:47: error: syntax error before ‘*’ token
In file included from interface.c:19:
interface.h:5: error: syntax error before ‘*’ token
interface.h:5: aviso: la definición de datos no tiene tipo o clase de almacenamiento
In file included from interface.c:20:
support.h:46: error: syntax error before ‘*’ token
support.h:46: error: syntax error before ‘*’ token
support.h:47: aviso: la definición de datos no tiene tipo o clase de almacenamiento
support.h:51: error: syntax error before ‘*’ token
support.h:59: error: syntax error before ‘*’ token
support.h:59: error: syntax error before ‘*’ token
support.h:60: aviso: la definición de datos no tiene tipo o clase de almacenamiento
support.h:63: error: syntax error before ‘*’ token
support.h:63: error: syntax error before ‘*’ token
support.h:63: aviso: la definición de datos no tiene tipo o clase de almacenamiento
support.h:66: error: syntax error before ‘*’ token
interface.c:29: error: syntax error before ‘*’ token
interface.c: En la función ‘create_window1’:
interface.c:32: error: ‘GtkWidget’ no se declaró aquí (primer uso en esta función)
interface.c:32: error: (Cada identificador no declarado solamente se reporta una vez
interface.c:32: error: para cada funcion en la que aparece.)
interface.c:32: error: ‘window1’ no se declaró aquí (primer uso en esta función)
interface.c:33: error: ‘vbox1’ no se declaró aquí (primer uso en esta función)
interface.c:34: error: ‘menubar1’ no se declaró aquí (primer uso en esta función)
interface.c:35: error: ‘menuitem1’ no se declaró aquí (primer uso en esta función)
interface.c:36: error: ‘menu1’ no se declaró aquí (primer uso en esta función)
interface.c:37: error: ‘nuevo1’ no se declaró aquí (primer uso en esta función)
interface.c:38: error: ‘abrir1’ no se declaró aquí (primer uso en esta función)
interface.c:39: error: ‘guardar1’ no se declaró aquí (primer uso en esta función)
interface.c:40: error: ‘guardar_como1’ no se declaró aquí (primer uso en esta función)
interface.c:41: error: ‘separatormenuitem1’ no se declaró aquí (primer uso en esta función)
interface.c:42: error: ‘salir1’ no se declaró aquí (primer uso en esta función)
interface.c:43: error: ‘menuitem2’ no se declaró aquí (primer uso en esta función)
interface.c:44: error: ‘menu2’ no se declaró aquí (primer uso en esta función)
interface.c:45: error: ‘cortar1’ no se declaró aquí (primer uso en esta función)
interface.c:46: error: ‘copiar1’ no se declaró aquí (primer uso en esta función)
interface.c:47: error: ‘pegar1’ no se declaró aquí (primer uso en esta función)
interface.c:48: error: ‘borrar1’ no se declaró aquí (primer uso en esta función)
interface.c:49: error: ‘menuitem3’ no se declaró aquí (primer uso en esta función)
interface.c:50: error: ‘menu3’ no se declaró aquí (primer uso en esta función)
interface.c:51: error: ‘menuitem4’ no se declaró aquí (primer uso en esta función)
interface.c:52: error: ‘menu4’ no se declaró aquí (primer uso en esta función)
interface.c:53: error: ‘acerca_de1’ no se declaró aquí (primer uso en esta función)
interface.c:54: error: ‘toolbar1’ no se declaró aquí (primer uso en esta función)
interface.c:55: error: ‘GtkIconSize’ no se declaró aquí (primer uso en esta función)
interface.c:55: error: syntax error before ‘tmp_toolbar_icon_size’
interface.c:56: error: ‘toolitem1’ no se declaró aquí (primer uso en esta función)
interface.c:57: error: ‘button1’ no se declaró aquí (primer uso en esta función)
interface.c:58: error: ‘toolitem2’ no se declaró aquí (primer uso en esta función)
interface.c:59: error: ‘button2’ no se declaró aquí (primer uso en esta función)
interface.c:60: error: ‘toolitem3’ no se declaró aquí (primer uso en esta función)
interface.c:61: error: ‘button3’ no se declaró aquí (primer uso en esta función)
interface.c:62: error: ‘toolitem4’ no se declaró aquí (primer uso en esta función)
interface.c:63: error: ‘button4’ no se declaró aquí (primer uso en esta función)
interface.c:64: error: ‘toolitem5’ no se declaró aquí (primer uso en esta función)
interface.c:65: error: ‘button5’ no se declaró aquí (primer uso en esta función)
interface.c:66: error: ‘scrolledwindow1’ no se declaró aquí (primer uso en esta función)
interface.c:67: error: ‘treeview1’ no se declaró aquí (primer uso en esta función)
interface.c:68: error: ‘scrolledwindow2’ no se declaró aquí (primer uso en esta función)
interface.c:69: error: ‘textview1’ no se declaró aquí (primer uso en esta función)
interface.c:70: error: ‘GtkAccelGroup’ no se declaró aquí (primer uso en esta función)
interface.c:70: error: ‘accel_group’ no se declaró aquí (primer uso en esta función)
interface.c:74: error: ‘GTK_WINDOW_TOPLEVEL’ no se declaró aquí (primer uso en esta función)
interface.c:77: error: ‘FALSE’ no se declaró aquí (primer uso en esta función)
interface.c:161: error: ‘GTK_TOOLBAR_BOTH’ no se declaró aquí (primer uso en esta función)
interface.c:162: error: ‘tmp_toolbar_icon_size’ no se declaró aquí (primer uso en esta función)
interface.c:164: error: syntax error before ‘)’ token
interface.c:172: error: syntax error before ‘)’ token
interface.c:180: error: syntax error before ‘)’ token
interface.c:188: error: syntax error before ‘)’ token
interface.c:196: error: syntax error before ‘)’ token
interface.c:206: error: ‘TRUE’ no se declaró aquí (primer uso en esta función)
interface.c:207: error: ‘GTK_SHADOW_IN’ no se declaró aquí (primer uso en esta función)
interface.c:222: error: ‘gpointer’ no se declaró aquí (primer uso en esta función)
interface.c:222: error: syntax error before ‘nuevo1’
interface.c:225: error: syntax error before ‘abrir1’
interface.c:228: error: syntax error before ‘guardar1’
interface.c:231: error: syntax error before ‘guardar_como1’
interface.c:234: error: syntax error before ‘salir1’
interface.c:237: error: syntax error before ‘cortar1’
interface.c:240: error: syntax error before ‘copiar1’
interface.c:243: error: syntax error before ‘pegar1’
interface.c:246: error: syntax error before ‘borrar1’
interface.c:249: error: syntax error before ‘acerca_de1’
interface.c:255: error: ‘GDestroyNotify’ no se declaró aquí (primer uso en esta función)
interface.c:255: error: syntax error before ‘gtk_widget_unref’
interface.c:256: error: syntax error before ‘gtk_widget_unref’
interface.c:257: error: syntax error before ‘gtk_widget_unref’
interface.c:258: error: syntax error before ‘gtk_widget_unref’
interface.c:259: error: syntax error before ‘gtk_widget_unref’
interface.c:260: error: syntax error before ‘gtk_widget_unref’
interface.c:261: error: syntax error before ‘gtk_widget_unref’
interface.c:262: error: syntax error before ‘gtk_widget_unref’
interface.c:263: error: syntax error before ‘gtk_widget_unref’
interface.c:264: error: syntax error before ‘gtk_widget_unref’
interface.c:265: error: syntax error before ‘gtk_widget_unref’
interface.c:266: error: syntax error before ‘gtk_widget_unref’
interface.c:267: error: syntax error before ‘gtk_widget_unref’
interface.c:268: error: syntax error before ‘gtk_widget_unref’
interface.c:269: error: syntax error before ‘gtk_widget_unref’
interface.c:270: error: syntax error before ‘gtk_widget_unref’
interface.c:271: error: syntax error before ‘gtk_widget_unref’
interface.c:272: error: syntax error before ‘gtk_widget_unref’
interface.c:273: error: syntax error before ‘gtk_widget_unref’
interface.c:274: error: syntax error before ‘gtk_widget_unref’
interface.c:275: error: syntax error before ‘gtk_widget_unref’
interface.c:276: error: syntax error before ‘gtk_widget_unref’
interface.c:277: error: syntax error before ‘gtk_widget_unref’
interface.c:278: error: syntax error before ‘gtk_widget_unref’
interface.c:279: error: syntax error before ‘gtk_widget_unref’
interface.c:280: error: syntax error before ‘gtk_widget_unref’
interface.c:281: error: syntax error before ‘gtk_widget_unref’
interface.c:282: error: syntax error before ‘gtk_widget_unref’
interface.c:283: error: syntax error before ‘gtk_widget_unref’
interface.c:284: error: syntax error before ‘gtk_widget_unref’
interface.c:285: error: syntax error before ‘gtk_widget_unref’
interface.c:286: error: syntax error before ‘gtk_widget_unref’
interface.c:287: error: syntax error before ‘gtk_widget_unref’
interface.c:288: error: syntax error before ‘gtk_widget_unref’
interface.c:289: error: syntax error before ‘gtk_widget_unref’
interface.c:290: error: syntax error before ‘gtk_widget_unref’
callbacks.c:5:21: error: gtk/gtk.h: No existe el fichero ó directorio
In file included from callbacks.c:7:
callbacks.h:6: error: syntax error before ‘*’ token
callbacks.h:10: error: syntax error before ‘*’ token
callbacks.h:14: error: syntax error before ‘*’ token
callbacks.h:18: error: syntax error before ‘*’ token
callbacks.h:22: error: syntax error before ‘*’ token
callbacks.h:26: error: syntax error before ‘*’ token
callbacks.h:30: error: syntax error before ‘*’ token
callbacks.h:34: error: syntax error before ‘*’ token
callbacks.h:38: error: syntax error before ‘*’ token
callbacks.h:42: error: syntax error before ‘*’ token
callbacks.h:47: error: syntax error before ‘*’ token
In file included from callbacks.c:8:
interface.h:5: error: syntax error before ‘*’ token
interface.h:5: aviso: la definición de datos no tiene tipo o clase de almacenamiento
In file included from callbacks.c:9:
support.h:46: error: syntax error before ‘*’ token
support.h:46: error: syntax error before ‘*’ token
support.h:47: aviso: la definición de datos no tiene tipo o clase de almacenamiento
support.h:51: error: syntax error before ‘*’ token
support.h:59: error: syntax error before ‘*’ token
support.h:59: error: syntax error before ‘*’ token
support.h:60: aviso: la definición de datos no tiene tipo o clase de almacenamiento
support.h:63: error: syntax error before ‘*’ token
support.h:63: error: syntax error before ‘*’ token
support.h:63: aviso: la definición de datos no tiene tipo o clase de almacenamiento
support.h:66: error: syntax error before ‘*’ token
callbacks.c:13: error: syntax error before ‘*’ token
callbacks.c:21: error: syntax error before ‘*’ token
callbacks.c:29: error: syntax error before ‘*’ token
callbacks.c:37: error: syntax error before ‘*’ token
callbacks.c:45: error: syntax error before ‘*’ token
callbacks.c:53: error: syntax error before ‘*’ token
callbacks.c:61: error: syntax error before ‘*’ token
callbacks.c:69: error: syntax error before ‘*’ token
callbacks.c:77: error: syntax error before ‘*’ token
callbacks.c:85: error: syntax error before ‘*’ token
callbacks.c:93: error: syntax error before ‘*’ token
support.c:15:21: error: gtk/gtk.h: No existe el fichero ó directorio
In file included from support.c:17:
support.h:46: error: syntax error before ‘*’ token
support.h:46: error: syntax error before ‘*’ token
support.h:47: aviso: la definición de datos no tiene tipo o clase de almacenamiento
support.h:51: error: syntax error before ‘*’ token
support.h:59: error: syntax error before ‘*’ token
support.h:59: error: syntax error before ‘*’ token
support.h:60: aviso: la definición de datos no tiene tipo o clase de almacenamiento
support.h:63: error: syntax error before ‘*’ token
support.h:63: error: syntax error before ‘*’ token
support.h:63: aviso: la definición de datos no tiene tipo o clase de almacenamiento
support.h:66: error: syntax error before ‘*’ token
support.c:19: error: syntax error before ‘*’ token
support.c:20: error: syntax error before ‘*’ token
support.c: En la función ‘lookup_widget’:
support.c:23: error: ‘GtkWidget’ no se declaró aquí (primer uso en esta función)
support.c:23: error: (Cada identificador no declarado solamente se reporta una vez
support.c:23: error: para cada funcion en la que aparece.)
support.c:23: error: ‘parent’ no se declaró aquí (primer uso en esta función)
support.c:23: error: ‘found_widget’ no se declaró aquí (primer uso en esta función)
support.c:27: error: ‘widget’ no se declaró aquí (primer uso en esta función)
support.c:32: error: syntax error before ‘)’ token
support.c:38: error: syntax error before ‘)’ token
support.c:41: error: ‘widget_name’ no se declaró aquí (primer uso en esta función)
support.c: En el nivel principal:
support.c:45: error: syntax error before ‘*’ token
support.c:45: aviso: la definición de datos no tiene tipo o clase de almacenamiento
support.c:49: error: syntax error before ‘*’ token
support.c: En la función ‘add_pixmap_directory’:
support.c:52: error: ‘directory’ no se declaró aquí (primer uso en esta función)
support.c:52: aviso: la asignación crea un puntero desde un entero sin una conversión
support.c: En el nivel principal:
support.c:56: error: syntax error before ‘*’ token
support.c:57: error: syntax error before ‘*’ token
support.c: En la función ‘find_pixmap_file’:
support.c:59: error: ‘GList’ no se declaró aquí (primer uso en esta función)
support.c:59: error: ‘elem’ no se declaró aquí (primer uso en esta función)
support.c:65: error: ‘gchar’ no se declaró aquí (primer uso en esta función)
support.c:65: error: ‘pathname’ no se declaró aquí (primer uso en esta función)
support.c:65: error: syntax error before ‘)’ token
support.c:67: error: ‘G_FILE_TEST_EXISTS’ no se declaró aquí (primer uso en esta función)
support.c: En el nivel principal:
support.c:76: error: syntax error before ‘*’ token
support.c:77: error: syntax error before ‘*’ token
support.c: En la función ‘create_pixmap’:
support.c:80: error: ‘gchar’ no se declaró aquí (primer uso en esta función)
support.c:80: error: ‘pathname’ no se declaró aquí (primer uso en esta función)
support.c:81: error: ‘GtkWidget’ no se declaró aquí (primer uso en esta función)
support.c:81: error: ‘pixmap’ no se declaró aquí (primer uso en esta función)
support.c:83: error: ‘filename’ no se declaró aquí (primer uso en esta función)
support.c:84: aviso: la devolución crea un puntero desde un entero sin una conversión
support.c:91: aviso: la devolución crea un puntero desde un entero sin una conversión
support.c: En el nivel principal:
support.c:100: error: syntax error before ‘*’ token
support.c:101: error: syntax error before ‘*’ token
support.c: En la función ‘create_pixbuf’:
support.c:103: error: ‘gchar’ no se declaró aquí (primer uso en esta función)
support.c:103: error: ‘pathname’ no se declaró aquí (primer uso en esta función)
support.c:104: error: ‘GdkPixbuf’ no se declaró aquí (primer uso en esta función)
support.c:104: error: ‘pixbuf’ no se declaró aquí (primer uso en esta función)
support.c:105: error: ‘GError’ no se declaró aquí (primer uso en esta función)
support.c:105: error: ‘error’ no se declaró aquí (primer uso en esta función)
support.c:107: error: ‘filename’ no se declaró aquí (primer uso en esta función)
support.c: En el nivel principal:
support.c:131: error: syntax error before ‘*’ token
support.c: En la función ‘glade_set_atk_action_description’:
support.c:135: error: ‘gint’ no se declaró aquí (primer uso en esta función)
support.c:135: error: syntax error before ‘n_actions’
support.c:137: error: ‘n_actions’ no se declaró aquí (primer uso en esta función)
support.c:137: error: ‘action’ no se declaró aquí (primer uso en esta función)
support.c:138: error: ‘i’ no se declaró aquí (primer uso en esta función)
support.c:140: error: ‘action_name’ no se declaró aquí (primer uso en esta función)
support.c:140: aviso: el paso del argumento 1 de ‘strcmp’ crea un puntero desde un entero sin una conversión
support.c:141: error: ‘description’ no se declaró aquí (primer uso en esta función)

Parecía que igual no tenía instalada la gtk-dev o algo, pero he mirado y tengo intalada tanto la libgtk con la gtk en sí.

Entonces, no sé qué puede ser, si es error de programación o de instalación :-S Igual es k no basta con copiar solo los archivos de la carpeta src??

Si a alguien se le ocurre algo y lo comparte ...

Muchas gracias.

Imagen de Cristobal López
+1
0
-1

Hola, a ver el pedazo de errores te viene cuando haces esto gcc `gtk-config --cflags` -o main main.c interface.c callbacks.c support.c `gtk-config --libs`? ¿o cuándo "mezclas" los ficheros de glade con los que no has hecho con glade?
No tienes que sacar para nada los ficheros de la carpeta src porque si no vamos mal.
Supongo que los ficheros que has realizado a parte sin glade son ficheros que tienen relación con los que has hecho con glade, me explico; con los de no glade por ejemplo hay algo que dice dame un número y con los de glade hay una etiqueta que dice dame un número, bien pues deben ir juntos, no separados. Además en los de no glade en el momento que utilices la interfaz que has hecho con glade deberás poner el
#include<gtk/gtk.h> para que estén relacionados.
Una posible solución es que metas todos los ficheros (los glade y no glade) en la carpeta src, pero aún así creo que no va a funcionar.
La manera correcta de hacerlo es que empieces a crear tu proyecto en Anjuta y desde ahí te dejará enlazar tu proyecto con glade de forma natural. En la ayuda de Anjuta tienes un ejemplo detallado con imágenes de cómo se hace.

Un saludo

+1
0
-1