Uso de Boost en android ndk con ventanas
Estoy tratando de utilizar la biblioteca de impulso con Android ndk en Eclipse con Windows. He intentado seguir este tutorial
Estoy atascado en el paso con "bjam" comando en cygwin.
- Trabajar con NDK en Eclipse
- Cómo utilizar bibliotecas C nativas en Android Studio
- Generar volcado de núcleo en android
- ¿Cómo utilizar pthreads con Android NDK?
- ¿Biblioteca de sonido nativa en Android que puede cambiar de tono?
Bjam – sin-python – sin serialización toolset = gcc-android4.4.3 link = static runtime-link = estático target-os = linux –stagedir = android
Error: no se encuentra el comando bjam.
¿Qué es bjam? También utilicé el impulso 1.53 a lo largo de ndk r8e. Alguien me puede ayudar con esto por favor?
- Función glext.h no resuelta
- Descodificador AES OpenSL ES de Android
- ¿Cómo realizar llamadas JNI desde un servicio incluso si la aplicación está cerrada?
- Libros Android NDK u otros materiales
- JNI cambiar C a C ++
- Convierta un comando gcc a CMake para android ndk
- Warning: libcryptopp.so: falta DT_SONAME utilizará basename como sustituto
- Android: Dialog de diálogo de actividad desaparece inesperadamente
Android NDK ya no depende de Cygwin, por lo que puede crear Boost con el NDK desde el símbolo del sistema de Windows ( cmd
).
Para que Boost.Build
encuentre el NDK, edite el archivo boost\tools\build\v2\user-config.jam
y agregue el siguiente texto:
import os ; androidNDKRoot = C:/android-ndk-r8e ; # put the relevant path using gcc : android : $(androidNDKRoot)/toolchains/arm-linux-androideabi-4.7/prebuilt/windows/bin/arm-linux-androideabi-g++ : <compileflags>--sysroot=$(androidNDKRoot)/platforms/android-9/arch-arm <compileflags>-mthumb <compileflags>-Os <compileflags>-fno-strict-aliasing <compileflags>-O2 <compileflags>-DNDEBUG <compileflags>-g <compileflags>-lstdc++ <compileflags>-I$(androidNDKRoot)/sources/cxx-stl/gnu-libstdc++/4.7/include <compileflags>-I$(androidNDKRoot)/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi/include <compileflags>-D__GLIBC__ <compileflags>-D_GLIBCXX__PTHREADS <compileflags>-D__arm__ <compileflags>-D_REENTRANT <archiver>$(androidNDKRoot)/toolchains/arm-linux-androideabi-4.7/prebuilt/windows/bin/arm-linux-androideabi-ar <ranlib>$(androidNDKRoot)/toolchains/arm-linux-androideabi-4.7/prebuilt/windows/bin/arm-linux-androideabi-ranlib ;
Ciertamente, en lugar de c:/android-ndk-r8e
tienes que colocar la ubicación correcta del NDK en tu PC.
Además, puede seleccionar API de plataforma más reciente, en lugar de android-9
.
Observe también que el NDK suministra varias cadenas de herramientas, y los ajustes anteriores apuntan a gcc-4.7. Si prefiere crear boost con alguna otra cadena de herramientas, cambie arm-linux-androideabi-4.7
a la ruta correspondiente.
Después de haber puesto la configuración en user-config.jam, abra cmd
, cd
al directorio donde Boost reside e invoque bootstrap
. A continuación, invoque b2
como este (por ejemplo):
b2 --without-python --without-serialization threading=multi link=static runtime-link=static toolset=gcc-android target-os=linux threadapi=pthread --stagedir=android stage
ACTUALIZACIÓN : A partir de 11/2015, los cadenas de herramientas de NDK más antiguos parecen tener problemas con las versiones Boost más recientes, lo que provoca un bloqueo del compilador, por lo que considere utilizar un compilador más reciente. Para hacer esto, cambie cada 4.7 ocurrencia en el script anterior a 4.9. Además, vale la pena compilar con una API Android más reciente (por ejemplo, andoroid-9 -> andoroid-16 o algo así).