Compilación gtkmm

52 views
Skip to first unread message

Cesar Leguizamon

unread,
Oct 21, 2011, 11:35:44 AM10/21/11
to tallerdepr...@googlegroups.com
Tengo un problema al tratar de compilar el gui:
Si lo compilo por linea de comando como se dijo en clase ( g++ ...
`pkg-config ...` ) funciona sin problema.
Pero si trato de usar el makefile de la cátedra me tira error de
"undefined references" sobre los métodos de gtkmm.
A mi me parece que faltan los enlaces a los binarios de gtkmm en el
makefile, pero no se en parte del makefile colocarlos (o como).
El makefile dice "gtkmm-2.4" pero lo modifique para que use el
"gtkmm-3.0" que es el que tengo instalado.
Alguna idea si esto es así? o puede ser otra cosa?
Saludos.

Cesar Leguizamon.

Leandro Fernández

unread,
Oct 21, 2011, 2:09:47 PM10/21/11
to tallerdepr...@googlegroups.com
Descomentaste la línea:

# Si es un programa gtkmm, descomentá (quitale el '#' a) la siguiente línea.
#gtkmm = si
¿?

2011/10/21 Cesar Leguizamon <fabi...@gmail.com>

--
Has recibido este mensaje porque estás suscrito al grupo "7542 - Taller de Programación" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a tallerdepr...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a tallerdeprograma...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/tallerdeprogramacion?hl=es.




--
_Leo_
[ http://www.myspace.com/hastalospajaros ]

Cesar Leguizamon

unread,
Oct 21, 2011, 3:25:46 PM10/21/11
to tallerdepr...@googlegroups.com
Si, esta descomentada.


El día 21 de octubre de 2011 15:09, Leandro Fernández
<drk...@gmail.com> escribió:

Leandro Fernández

unread,
Oct 21, 2011, 8:23:27 PM10/21/11
to tallerdepr...@googlegroups.com
Hacé este cambio. En la parte:
client: $(o_client_files)
	@if [ -z "$(o_client_files)" ]; \
	then \
		echo "No hay archivos de entrada para el cliente (archivos client*.$(extension))."; \
		false; \
	fi >&2
	$(LD) $(LDFLAGS) $(o_client_files) $(LOADLIBES) $(LDLIBS) -o client $(LDADD)

Cambiá la última línea por:
	$(LD) $(o_client_files) $(LOADLIBES) $(LDLIBS) -o client $(LDADD) $(LDFLAGS) 
Hay que poner $(LDFLAGS) al final.


2011/10/21 Cesar Leguizamon <fabi...@gmail.com>



--
_Leo_
[ http://www.myspace.com/hastalospajaros ]

Cesar Leguizamon

unread,
Oct 22, 2011, 8:09:17 PM10/22/11
to tallerdepr...@googlegroups.com
Buenísimo, Funciono!
Muchas gracias!

El día 21 de octubre de 2011 21:23, Leandro Fernández
<drk...@gmail.com> escribió:

Guido

unread,
Oct 24, 2011, 2:23:28 PM10/24/11
to tallerdepr...@googlegroups.com
Hola,
No está funcionando bien el GTK builder. Compila pero corre mal.
Los errores son así:
(process:2312): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.24.1/gobj/gtype.c:2706: You forgot to call g_type_init()
(process:2312): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
(process:2312): GLib-GObject-CRITICAL **: g_object_newv: assertion`G_TYPE_IS_OBJECT (object_type)' failed

Mi código es así:

int main(int argc, char** argv) {
    Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file("basic.glade");
    Gtk::Window* pMyWindow = 0;
    builder->get_widget("window1", pMyWindow);
    pMyWindow->show();
}
No importa si pongo un archivo válido o uno inexistente. Incluso puse el archivo con path entero.
Cuando lo debuggeo, veo que el programa nunca sale de la primer línea. Cuando pauso los procesos, veo que o bien está parado en g_once_init_enter_impl() o en g_slist_find() (llamado por el anterior). Nunca veo ninguna ventana porque nunca llega a pMyWindow->show()
Probé con un código de prueba sin gtk builder y puedo crear ventanas.
Saludos.

Martin Di Paola

unread,
Oct 24, 2011, 4:40:01 PM10/24/11
to tallerdepr...@googlegroups.com
Hola,

puede ser que no hayas inicializado la libreria de gtkmm?

Fijate  en el main que te funciona (sin el builder). Probá en eliminarle el código que explicitamente instancia los widgets y reemplazalo por la invocacion del builder.

Saludos

Guido

unread,
Nov 1, 2011, 11:47:17 AM11/1/11
to tallerdepr...@googlegroups.com
Hola,
¿A que hora vamos para mostrar los avances en el tp?
Saludos

Leandro Fernández

unread,
Nov 1, 2011, 1:27:12 PM11/1/11
to tallerdepr...@googlegroups.com, Matias Alberto Gavinowich
A las 18:00 horas estaré allí.

2011/11/1 Guido <pechod...@hotmail.com>
Hola,
¿A que hora vamos para mostrar los avances en el tp?
Saludos
--
Has recibido este mensaje porque estás suscrito al grupo "7542 - Taller de Programación" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a tallerdeprogramacion@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a tallerdeprogramacion+unsub...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/tallerdeprogramacion?hl=es.




--
_Leo_
[ http://www.myspace.com/hastalospajaros ]

Pablo Daniel Roca

unread,
Nov 14, 2011, 11:54:01 PM11/14/11
to tallerdepr...@googlegroups.com, Matias Alberto Gavinowich
Chicos,
acabo de crear una instancia de entrega para el TP5.
Usen el SERCOM para subir el código fuente como hacen siempre. Tengan en cuenta que en esta oportunidad no se le corre ninguna prueba ni compilación a lo que suban.

Saludos.
Pablo.



Para publicar una entrada en este grupo, envía un correo electrónico a tallerdepr...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a tallerdeprograma...@googlegroups.com

adrian elce

unread,
Nov 15, 2011, 1:41:11 PM11/15/11
to tallerdepr...@googlegroups.com, Matias Alberto Gavinowich
Estimado Pablo:
    Gracias por habilitar la entrega electrónica. Sin embargo, creo que hay algún problema con la misma dado que, al tratar de subir el archivo devuelve un error indicando que no se seleccionó un Grupo, aunque la lista correspondiente está vacía (no deben estar cargados los grupos) .

    De todas maneras podemos llevar el TP en un DVD. La duda que tenemos es si es necesario imprimir el código.

Saludos,
Adrián Elce.

--- El mar 15-nov-11, Pablo Daniel Roca <pablo...@gmail.com> escribió:
Reply all
Reply to author
Forward
0 new messages