[Jderobot] Ice undefined reference

franciscomiguel.rivas en urjc.es franciscomiguel.rivas en urjc.es
Mar Oct 22 19:22:08 CEST 2013


Buenas,
estás tirando de cmakes bastante antiguos... hay que revisar los  
cmakes independientes porque viene bastante bien como ejemplo a gente  
nueva.


De momento he subido dos actualizados el de basic_component[1] y el de  
openniServer[2] para que les puedas echar un ojo y crearte un cmake de  
compilación independiente para tus componentes.



un saludo,
Fran.

[1]  
http://svn.jderobot.org/jderobot/trunk/src/stable/components/basic_component/build-independent/

[2]  
http://svn.jderobot.org/jderobot/trunk/src/stable/components/openniServer/build-independent/


Eloy <abanibiaboebe en gmail.com> escribió:

> Hola, ya casi estoy acabando de adaptar mi componente a la versión actual de
> jderobot.
>
> Me he encontrado con un error que parece ser de linkado.
>
> CMakeFiles/eloyBasicComponent.dir/control.cpp.o: In function
> `__static_initialization_and_destruction_0(int, int)':
> control.cpp:(.text+0x32f9): undefined reference to
> `IceInternal::FactoryTableInit::FactoryTableInit()'
> control.cpp:(.text+0x32fe): undefined reference to
> `IceInternal::FactoryTableInit::~FactoryTableInit()'
> control.cpp:(.text+0x3327): undefined reference to
> `Ice::AdapterNotFoundException::~AdapterNotFoundException()'
> CMakeFiles/eloyBasicComponent.dir/control.cpp.o: In function
> `IceUtil::Shared::~Shared()':
> control.cpp:(.text._ZN7IceUtil6SharedD2Ev[_ZN7IceUtil6SharedD5Ev]+0xb):
> undefined reference to `vtable for IceUtil::Shared'
> CMakeFiles/eloyBasicComponent.dir/control.cpp.o: In function
> `Ice::LocalObject::~LocalObject()':
> control.cpp:(.text._ZN3Ice11LocalObjectD1Ev[Ice::LocalObject::~LocalObject()]+0x17):
> undefined reference to `vtable for Ice::LocalObject'
> control.cpp:(.text._ZN3Ice11LocalObjectD1Ev[Ice::LocalObject::~LocalObject()]+0x29):
> undefined reference to `vtable for Ice::LocalObject'
> CMakeFiles/eloyBasicComponent.dir/control.cpp.o: In function
> `Ice::ConnectionInfo::ConnectionInfo()':
> control.cpp:(.text._ZN3Ice14ConnectionInfoC1Ev[Ice::ConnectionInfo::ConnectionInfo()]+0x11):
> undefined reference to `IceUtil::Shared::Shared()'
>
> Y sigue asi unas 100 lineas más...
>
>
>
> En el CMakeLists.txt tengo:
> cmake_minimum_required(VERSION 2.8)
> include(FindPkgConfig)
>
> SET( SOURCE_FILES  control.cpp eloyBasicComponent.cpp api.cpp gui.cpp)
>
> SET(INTERFACES_CPP_DIR /usr/local/lib )
> SET( CMAKE_CXX_FLAGS "-lIce -lIceUtil" ) # Opciones para el compilador
>
> include_directories(
>     ${INTERFACES_CPP_DIR}
>     /usr/local/include/jderobot/
> )
>
>
> PKG_CHECK_MODULES(gtkmm REQUIRED gtkmm-2.4)
> include_directories(${gtkmm_INCLUDE_DIRS})
> link_directories(${gtkmm_LIBRARY_DIRS})
>
> PKG_CHECK_MODULES(gthread REQUIRED gthread-2.0)
> include_directories(${gthread_INCLUDE_DIRS})
> link_directories(${gthread_LIBRARY_DIRS})
>
> PKG_CHECK_MODULES(libglademm REQUIRED libglademm-2.4)
> include_directories(${libglademm_INCLUDE_DIRS})
> link_directories(${libglademm_LIBRARY_DIRS})
>
> find_package(OpenCV REQUIRED)
>
> add_executable (eloyBasicComponent  ${SOURCE_FILES})
>
> TARGET_LINK_LIBRARIES(eloyBasicComponent
>     ${INTERFACES_CPP_DIR}/jderobot/libJderobotInterfaces.so
>     ${INTERFACES_CPP_DIR}/jderobot/libjderobotice.so
>     ${INTERFACES_CPP_DIR}/jderobot/libjderobotutil.so
>     ${INTERFACES_CPP_DIR}/jderobot/libcolorspaces.so
>     ${INTERFACES_CPP_DIR}/jderobot/libcvfast.so
>     ${INTERFACES_CPP_DIR}/jderobot/libcvblob.so
>     ${INTERFACES_CPP_DIR}/jderobot/libimgAnalyze.so
>     ${libglademm_LIBRARIES}
>     ${OpenCV_LIBS}
> )
>
>
> Y en el control.cpp
>
> #include <Ice/Ice.h>
> #include <IceUtil/IceUtil.h>
>
>
> Un saludo.
>
>
>
> --
> View this message in context:  
> http://jderobot-developer-list.2315034.n4.nabble.com/Ice-undefined-reference-tp4641740.html
> Sent from the Jderobot Developer List mailing list archive at Nabble.com.
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>



------------------------------------------------------------------
Laboratorio de Análisis del Movimiento, Biomecánica, Ergonomía y  
Control Motor (LAMBECOM).
Departamento de Fisioterapia, Terapia Ocupacional, Rehabilitación y  
Medicina Física.
Universidad Rey Juan Carlos (URJC).


More information about the Jde-developers mailing list