Autor Tema: Ayuda con gtkmm  (Leído 1678 veces)

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Ayuda con gtkmm
« en: 23 de Junio de 2010, 03:35:59 am »
¡Hola!

Bueno, gracias a una recomendación de TLX, he estado usando la librería gtkmm para crear entornos gráficos con C++. Pero lo malo es que casi no la entiendo :S, lo único que he logrado es crear una ventana vacía, pero no he podido agregarle labels, o campos de texto y cosas así.

El código que tengo para mostrar la ventana es este:

#include <gtkmm.h>

int main (int argc, char *argv[])
{
   Gtk::Main kit(argc, argv);

   Gtk::Window ventana;
   ventana.set_title("Mi primer GUI");
   ventana.set_size_request(300, 500);

   Gtk::Main::run(ventana);

   return 0;
}

Y bien, eso es todo lo que sé hasta ahora :S, crear una ventana con nombre y tamaño, apreciaría mucho una ayuda.
Saludos ^^
- Moderador de PHP


Comunidad PHPeros

Ayuda con gtkmm
« en: 23 de Junio de 2010, 03:35:59 am »

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re:Ayuda con gtkmm
« Respuesta #1 en: 23 de Junio de 2010, 10:54:09 am »
Mira, aquí hay muchos ejemplos:
http://library.gnome.org/devel/gtkmm-tutorial/unstable/chapter-basics.html

Y si vas dando a siguiente mas y mas y mas jaja

Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:Ayuda con gtkmm
« Respuesta #2 en: 23 de Junio de 2010, 18:40:00 pm »
Sí, lo sé, de esa página es donde estoy aprendiendo, pero solo he logrado crear el primer ejemplo, que muestra una ventana vacía y sin nada. Luego, traté de hacer ese que te muestra una ventana y el mensaje de "Hello World" (http://library.gnome.org/devel/gtkmm-tutorial/unstable/sec-helloworld.html.en), pero por más que copie el código exactamente a como es ahí, el mismo nombre de archivos y todo eso, no funciona :S

Mira, si trato de compilar el main.cc, me sale el siguiente error:
Citar
kevin@tribuavatar:~/Escritorio/C++/Proyectos$ g++ main.cc  -o main  `pkg-config gtkmm-2.4 --cflags --libs`
/tmp/ccSDSCQl.o: In function `main':
main.cc:(.text+0x35): undefined reference to `HelloWorld::HelloWorld()'
main.cc:(.text+0x52): undefined reference to `HelloWorld::~HelloWorld()'
main.cc:(.text+0x64): undefined reference to `HelloWorld::~HelloWorld()'
collect2: ld returned 1 exit status

Por otra parte, si trato de compilar el helloworld.cc, me sale lo siguiente:
Citar
kevin@tribuavatar:~/Escritorio/C++/Proyectos$ g++ helloworld.cc  -o helloworld  `pkg-config gtkmm-2.4 --cflags --libs`
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status

Siento si estoy siendo algo molesto, pero ese problema me está matando  >:(
Entonces, ¿qué puedo hacer? :S
- Moderador de PHP


Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:Ayuda con gtkmm
« Respuesta #3 en: 27 de Junio de 2010, 03:38:33 am »
Hola de nuevo, re-posteo este tema para avisarles que ya encontré la solución. Lo que tenía que hacer, era compilar el main.cc y el helloworld.cc al mismo tiempo. ¡Tremenda rebuscada entre páginas me tuve que dar!

Por si a alguien le interesa, la línea para compilar el código desde la terminal, es la siguiente:

Código: [Seleccionar]
g++ main.cc helloworld.cc -o helloworld `pkg-config --cflags --libs gtkmm-2.4`
Pueden cerrar tema ;)
Saludos ^^
- Moderador de PHP