* Imagenes de instalación de las versiones estables para Mageia y OpenMandriva.

OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.

Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.

¿como compilo un programa gtk?

hola, pues yo copie a mano lo que venia en la documentación en español de gnome es un programa según básico y puse esto en el gedit

#include

void hello ( GtkWidget *Widget, gpointer data)
{
g_print ("Hola Mundo");
}

gint delete_event(GtkWidget *Widget,
GdkEvent *event,
gpointer data)

{

g_print ("delete event occurred\n");

return TRUE;

}

void destroy (GtkWidget *Widget, gpointer data)
{
gtk_main_quit ();
}

int main(int argc, char *argv[])
{
GtkWidget *Window;
GtkWidget *button;

gtk_init (&argc, &argv);

Window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

g_signal_connect (G_OBJECT (Window), "delete_event",
G_CALLBACK (delete_event), NULL);

g_signal_connect (G_OBJECT (Window), "destroy",
G_CALLBACK (destroy), NULL);

gtk_contaimer_set_border_width (GTK_CONTAINER (window), 10);

button = gtk_button_new_with_label ("Hola Mundo");

g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (gtk_widget_destry),
G_OBJECT (window));

gtk_container_add (GTK_CONTAINER (window), button);

gtk_widget_show (button);

gtk widget show (window);

gtk_main ();

return 0;
}

creo que lo escribi mal por que me aparece el siguiente error cuando lo trato de compilar con gcc

/home/aron/Documentos/programas/programa.c:1:21: error: gtk/gtk.h: No existe el fichero o el directorio
/home/aron/Documentos/programas/programa.c:3: error: expected ‘)’ before ‘*’ token
/home/aron/Documentos/programas/programa.c:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘delete_event’
/home/aron/Documentos/programas/programa.c:20: error: expected ‘)’ before ‘*’ token
/home/aron/Documentos/programas/programa.c: En la función ‘main’:
/home/aron/Documentos/programas/programa.c:27: error: ‘GtkWidget’ no se declaró aquí (primer uso en esta función)
/home/aron/Documentos/programas/programa.c:27: error: (Cada identificador no declarado solamente se reporta una vez
/home/aron/Documentos/programas/programa.c:27: error: para cada funcion en la que aparece.)
/home/aron/Documentos/programas/programa.c:27: error: ‘Window’ no se declaró aquí (primer uso en esta función)
/home/aron/Documentos/programas/programa.c:28: error: ‘button’ no se declaró aquí (primer uso en esta función)
/home/aron/Documentos/programas/programa.c:32: error: ‘GTK_WINDOW_TOPLEVEL’ no se declaró aquí (primer uso en esta función)
/home/aron/Documentos/programas/programa.c:35: error: ‘delete_event’ no se declaró aquí (primer uso en esta función)
/home/aron/Documentos/programas/programa.c:35: error: ‘NULL’ no se declaró aquí (primer uso en esta función)
/home/aron/Documentos/programas/programa.c:38: error: ‘destroy’ no se declaró aquí (primer uso en esta función)
/home/aron/Documentos/programas/programa.c:40: error: ‘window’ no se declaró aquí (primer uso en esta función)
/home/aron/Documentos/programas/programa.c:45: error: ‘gtk_widget_destry’ no se declaró aquí (primer uso en esta función)
/home/aron/Documentos/programas/programa.c:52: error: ‘gtk’ no se declaró aquí (primer uso en esta función)
/home/aron/Documentos/programas/programa.c:52: error: expected ‘;’ before ‘widget’

Que quiere decir eso
Me pueden ayudar yo acabo de empezar en esto y pues no se si me falten programas o archivos o porque no se compila

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.


Gravatar de Annubis

# 96349 Devel

¿Tienes instalados los paquetes -devel de gnome?



Gravatar de Drakon

# 96386 creo que no

pues tengo algunos cuales debo instalar para que funcione

El mejor día de tu vida es hoy.



Gravatar de Annubis

# 96410 Pues no lo se

Si al menos dijeras cuales tienes instalados.



Gravatar de ubaloie

# 96433 Hola mandriman, a ver, te

Hola mandriman, a ver, te sitúo un poco en mi entorno: Tengo Mandriva free 2010, sí, he vuelto a cambiar desde la one; y para programar en gnome he instalado el metapaquete task-c-devel, para programar en c, y un par de ides: Anjuta y geany, usar a gusto, y por último el paqute intltool, por las herramientas de internacionalización. Con ésto podrás programar con gtk para gnome de manera inicial, así que, de momento, olvídate del resto, ojo, te serán necesarios más paquetes posteriormente pero de momento con ésto es suficiente.

Vamos ahora a tu programa, primer error en la primera línea:
#include
Ha de ser:
#include < gtk/gtk.h>
Ello para incluir las librerias necesarias para programar con gtk.

Bien, siguiente error, en la línea 41 tienes un window en vez de un Window, cuidado que c distingue entre mayúsculas y minúsculas. Lo corregimos(tienes varios más, revísalos):
gtk_contaimer_set_border_width (GTK_CONTAINER (Window), 10);

Y tampoco es gtk_contaimer_set_border_width sino gtk_container_set_border

Otro error: En la línea 45 tienes:
g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (gtk_widget_destry), G_OBJECT (window));
No es gtk_widget_destry sino gtk_widget_destroy

En la línea 53 tienes:
gtk widget show (Window);
No es así sino gtk_widget_show (Window);

Luego tienes varios g_signal_connect, es gtk_signal_connect

Luego tienes...Oye, que tienes muchos errores en el código y no voy a acabar así que te pongo aquí un programilla típico hola mundo, haces un copypaste y lo compilas a ver cómo te va.

Código hola mundo:

#include < gtk/gtk.h>

int main (int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *button;

gtk_init (&argc, &argv);

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC ( gtk_main_quit ) , NULL);
gtk_container_border_width (GTK_CONTAINER (window), 10);

button = gtk_button_new_with_label ("Hello World");

gtk_signal_connect_object (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (window));
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show (button);

gtk_widget_show (window);

gtk_main ();

return 0;
}

Luego lo renombras el archivo como hola.c y lo compilas desde un terminal así:
cc `pkg-config --cflags --libs gtk+-2.0` hola.c -o hola

Te creará un archivo llamado hola.o el cual ejecutas así:
./hola.o

Bueno...

Saludos.

Web de FichasDrake
Otra de mis web



Gravatar de Drakon

# 96594 ya se cual es el problema

de pura curiosidad estuve buscando la carpeta include y los archivos gtk.h gdk.h y stdio.h los encontre en diferentes lugares movi los archivos gtk.h y gdk.h y marco mas errores entonces creo que ay que cambiar algo de #include por otra cosa ya le e movido pero nada y como soy un completo ignorante en programacion no se como ponerle para que en vez de que busque gtk.h en /usr/include/ lo busque en /usr/include/gtk-2.0

Saludos

El mejor día de tu vida es hoy.



Gravatar de Drakon

# 96598 ya me desespere

¡¡¡¡QUE PUTAS ES LO QUE PASAAA!!!!
Ya no se que hacer esa cosa del cc `pkg-config --cflags --libs gtk+-2.0` hola.c -o hola no se porque no funciona sique marcando que no existe gtk.h
!!!!QUE PASA!!!!
llevo todo el dia en esto y nada

El mejor día de tu vida es hoy.

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.