Hola a todos,<div id="-chrome-auto-translate-plugin-dialog" style="background-image:initial!important;background-color:transparent!important;padding-top:0px!important;padding-right:0px!important;padding-bottom:0px!important;padding-left:0px!important;margin-top:0px!important;margin-right:0px!important;margin-bottom:0px!important;margin-left:0px!important;overflow-x:visible!important;overflow-y:visible!important;text-align:left!important;background-repeat:initial initial!important">
<div style><div class="translate"></div><div class="additional"></div></div><img src="http://www.google.com/uds/css/small-logo.png" onclick="document.location.href=&#39;http://translate.google.com/&#39;;" style="position: absolute !important; z-index: -1 !important; right: 1px !important; top: -20px !important; cursor: pointer !important;-webkit-border-radius: 20px; background-color: rgba(200, 200, 200, 0.3) !important; padding: 3px 5px 0 !important; margin: 0 !important;"></div>
<div><br></div><div>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 &quot;jderobotice&quot; a partir de los ficheros que hay en el repositorio oficial. </div>
<div><br></div><div>Os dejo el fichero que utilizo para generar dicha librería comentando un poco por si alguien no conoce la sintaxis de CMake:</div><div><br></div><div><div>include_directories(/usr/include/gearbox)</div>
<div>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</div>
<div><br></div><div>TARGET_LINK_LIBRARIES(jderobotice ${ice_LIBRARY_DIRS}) # Reglas para el enlazador</div><div>TARGET_LINK_LIBRARIES(/usr/lib/gearbox/libGbxUtilAcfr.so)</div><div>TARGET_LINK_LIBRARIES(/usr/lib/gearbox/libGbxIceUtilAcfr.so)</div>
</div><div><br></div><div>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:</div><div><br></div><div><div>/home/mikel/Dropbox/Universidad/PFC/trunk/CMAKE_jderobot/src/libs/jderobotice/libjderobotice.so: undefined reference to `VTT for gbxiceutilacfr::SafeThread&#39;</div>
<div>/home/mikel/Dropbox/Universidad/PFC/trunk/CMAKE_jderobot/src/libs/jderobotice/libjderobotice.so: undefined reference to `vtable for gbxutilacfr::TrivialTracer&#39;</div><div>/home/mikel/Dropbox/Universidad/PFC/trunk/CMAKE_jderobot/src/libs/jderobotice/libjderobotice.so: undefined reference to `typeinfo for gbxutilacfr::TrivialTracer&#39;</div>
<div>/home/mikel/Dropbox/Universidad/PFC/trunk/CMAKE_jderobot/src/libs/jderobotice/libjderobotice.so: undefined reference to `gbxutilacfr::TrivialStatus::infrastructureFinalising()&#39;</div><div><br></div></div><div>(omito el resto de la traza ya que es más de lo mismo)</div>
<div><br></div><div>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.</div>
<div><br></div><div>Alguna idea?</div><div><br></div><div>Un saludo y gracias!</div><div><br></div><div>Mikel.</div>