[Jderobot-dev] Problema portando JDErobot de Autotools a CMake

redouane kachach redo.robot en gmail.com
Mie Mar 7 07:16:09 CET 2012


No tengo ni idea del problema que te esta saliendo ... parece ser un
problema de linkado. Los simbolos que dice que faltan son de alguna
componente de gearbox? ( empiezan con gbxiceutilacfr:: ) .. en este caso yo
creo que lo que puedes hacer es comparar los simbolos de la bibioteca
"buena" con la mala ... para ello te podrian servir los comandos "nm" y el
comando "c++filt" este último traduce los simbolos "raros" que saca el "nm"
a una sintaxis más legible que coincide con los nombres de los metodos ..

Saludos,
Redo.

2012/3/6 Mikel Gonzalez Baile <m.gonzalezbai en gmail.com>

> Hola a todos,
>
> estoy portando la cadena de compilación de JDErobot de la herramienta
> Autotools a CMake y me estoy encontrando con un problema a la hora de
> generar la librería "jderobotice" a partir de los ficheros que hay en el
> repositorio oficial.
>
> Os dejo el fichero que utilizo para generar dicha librería comentando un
> poco por si alguien no conoce la sintaxis de CMake:
>
> include_directories(/usr/include/gearbox)
> add_library (jderobotice SHARED component.cpp context.cpp application.cpp
> componentthread.cpp componentthread.h statusImpl.h tracerImpl.h
> catchutils.cpp subsystemthread.cpp interfaceconnect.cpp component.h
> context.h application.h exceptions.h catchutils.h subsystemthread.h
> interfaceconnect.h jderobotice.h) # Crea la librería dinámica a partir de
> las cabeceras y fuentes
>
> TARGET_LINK_LIBRARIES(jderobotice ${ice_LIBRARY_DIRS}) # Reglas para el
> enlazador
> TARGET_LINK_LIBRARIES(/usr/lib/gearbox/libGbxUtilAcfr.so)
> TARGET_LINK_LIBRARIES(/usr/lib/gearbox/libGbxIceUtilAcfr.so)
>
> El caso es que la librería se genera bien, pero cuando la uso para
> compilar un componente, por ejemplo Introrob, me sale el siguiente error:
>
> /home/mikel/Dropbox/Universidad/PFC/trunk/CMAKE_jderobot/src/libs/jderobotice/libjderobotice.so:
> undefined reference to `VTT for gbxiceutilacfr::SafeThread'
> /home/mikel/Dropbox/Universidad/PFC/trunk/CMAKE_jderobot/src/libs/jderobotice/libjderobotice.so:
> undefined reference to `vtable for gbxutilacfr::TrivialTracer'
> /home/mikel/Dropbox/Universidad/PFC/trunk/CMAKE_jderobot/src/libs/jderobotice/libjderobotice.so:
> undefined reference to `typeinfo for gbxutilacfr::TrivialTracer'
> /home/mikel/Dropbox/Universidad/PFC/trunk/CMAKE_jderobot/src/libs/jderobotice/libjderobotice.so:
> undefined reference to
> `gbxutilacfr::TrivialStatus::infrastructureFinalising()'
>
> (omito el resto de la traza ya que es más de lo mismo)
>
> Decir que si utilizo la librería jderobotice que se instala por medio del
> paquete de JDErobot no hay ningún problema, con lo que entiendo que el
> problema está si utilizo la que genero yo por medio de mi fichero.
>
> Alguna idea?
>
> Un saludo y gracias!
>
> Mikel.
>
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20120307/ae5f84bd/attachment-0001.htm 


More information about the Jde-developers mailing list