Usando eigen con android ndk

¿Alguien ha importado la biblioteca eigen con éxito usando el ndk? Estaba pensando en usarlo para hacer todas las operaciones de matriz de matemáticas para una aplicación en la que estoy trabajando. Me encontré con unas pocas personas que lo mencionan en algunos foros, pero aparte del hecho de que no sé si han conseguido que funciona la mayoría de los foros que he leído comenzar mencionando algunos errores relacionados con el código de neón ….. que me havent ensuciado con Antes de cualquiera.

Lo que sería realmente útil es si alguien me puede apuntar hacia un tutorial sobre cómo compilar una biblioteca existente como eigen usando el ndk. Así puedo hacerlo por mí mismo más tarde. Acabo de encontrar esto: http://code.google.com/p/android-cmake/ y me gustaría intentar implementarlo yo mismo, pero no estoy seguro de por dónde empezar. Obviamente, tengo una lectura semi-intensa por delante de mí, así que empiezo mal, pero el tiempo medio si alguien podría saltar y ayudar con la compilación de bibliotecas nativas para su uso con el ndk me gustaría mucho.

Nunca he usado el Android NDK antes, estoy usando Eigen para cálculos numéricos en física.

Eigen es encabezado solamente, así que puedes ponerlo donde quieras. Sólo tienes que establecer la ruta de acceso a esa carpeta (probablemente dentro de tu Android.mk). Si no necesita las bibliotecas no compatibles en Eigen, entonces sólo necesita la carpeta "Eigen". El resto es solo para documentación y pruebas. Después de un breve vistazo a la documentación, creo que puedes lograrlo con

LOCAL_C_INCLUDES := path/to/eigen 

Dentro de tu Android.mk

Una solución rápida y sucia sería lanzar Eigen dentro de la carpeta 'jni'. Pero esto sólo funciona si toda la fuente que utiliza Eigen está allí también. De esta manera no tienes que editar tu Android.mk.

Prefiero tener los encabezados Eigen fuera del espacio de trabajo Eclipse , al igual que stl, etc. Para hacer esto, descomprima su descarga de Eigen y copie la carpeta "Eigen" en un directorio de su elección:

/ Usuarios / foo / libraries / eigen / Eigen

Luego, en el archivo Android.mk de su proyecto, indique a ndk-build donde están los archivos de inclusión de Eigen:

LOCAL_C_INCLUDES + = / Usuarios / foo / libraries / eigen

No haga referencia a la carpeta "Eigen" real aquí, haga referencia a la carpeta por encima de ella, de lo contrario las inclusiones no funcionarán. Por último, dígale al eclipse indexador acerca de lo que incluye:

Haga clic con el botón derecho del ratón en su proyecto -> Propiedades -> C / C ++ General -> Ruta de acceso y símbolos -> Incluye -> GNU C ++ -> Añadir … -> Sistema de archivos … – Bibliotecas / eigen

Hecho.

  • Cómo agregar la biblioteca preconstruida * .so en android studio 2.2
  • Construyendo una aplicación para Android en Qt usando una biblioteca adicional (Assimp)
  • Múltiples módulos nativos en Android Studio
  • Android ndk (cmake): 'referencia indefinida a `__android_log_write' cuando se usa log api en la segunda biblioteca jni
  • Compilación de la aplicación Qt para Android usando CMake (no por Qt Creator)
  • Compilar y usar binarios ejecutables dependientes de ABI en Android con Android Studio 2.2 y CMake
  • Cmake falla con android ndk
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.