[Jderobot] Ice undefined reference

Eloy abanibiaboebe en gmail.com
Mar Oct 22 13:50:09 CEST 2013


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.


More information about the Jde-developers mailing list