Desarrollo algunas bibliotecas nativas para Android y uso las bibliotecas de Boost, solo las basadas en encabezados. El problema al que me enfrento es que cuando intento vincular algunas de mis bibliotecas nativas con alguna biblioteca del sistema, se lanza el UnsatisfiedLinkError
. Es debido a diferentes tiempos de ejecución de C++ como se indica en la documentación NDK:¿Es posible deshabilitar Excepciones y RTTI en las bibliotecas Boost?
Sólo se puede seleccionar un solo tiempo de ejecución de C++ que todo el código se depender. No es posible mezclar bibliotecas compiladas compiladas contra diferentes tiempos de ejecución de C++.
Las bibliotecas del sistema no usan RTTI y Excepciones, pero mis bibliotecas lo usan implícitamente. Sé que hay macros BOOST_EXCEPTION_DISABLE
y BOOST_NO_RTTI
, pero no puedo hacerlo funcionar. He intentado establecer como opciones del compilador y en el config.hpp también, pero sin suerte - que sigue recibiendo muchos errores como
cannot use typeid with -fno-rtti
¿Cómo puedo desactivar estas funciones en Boost, ¿es posible?
¿Recibió ese error al intentar compilar Boost? ¿O cuando intentas compilar tu propio código? –
Al intentar compilar mi propio código. – vitakot
Por cierto, su pregunta no tiene sentido; Escribí Yo uso solo encabezados ..., principalmente circular_buffer.hpp, signal.hpp y shared_ptr.hpp – vitakot