Cómo utilizar bibliotecas STL en aplicaciones de Android
1. Cree una nueva aplicación en el directorio jni. mk; agregar APP_STL := stlport_static. APP_STL := El valor en el lado derecho de stlport_static se puede reemplazar con:
sistema: utiliza la biblioteca de tiempo de ejecución C mínima predeterminada para que la aplicación resultante sea más pequeña en tamaño y consumo de memoria, pero algunas características no ser compatible
stlport_static: use STLport como biblioteca estática, altamente recomendada por la red de desarrollo de Android
stlport_shared: use STLport como biblioteca dinámica, que puede entrar en conflicto con algunas versiones anteriores Las versiones del firmware de Android causan problemas de compatibilidad y, por lo tanto, no se recomiendan.
gnustl_static - Utilice GNU libstdc como biblioteca estática
De forma predeterminada, STLPORT no admite el manejo de excepciones de C ni RTTI, así que no utilice -fexceptions o -frtti si realmente lo necesita; Para ello, puede utilizar gnustl_static para admitir funciones estándar de C, pero el tamaño del archivo generado será mayor y la eficiencia operativa se reducirá.
Para admitir el manejo de excepciones de C, agregue la línea LOCAL_CPPFLAGS =-fexceptions en Application.mk; de manera similar, para admitir RTTI, agregue LOCAL_CPPFLAGS =-frtti, mencionado aquí nuevamente en el segundo artículo. Para usar gnustl static biblioteca en lugar de LOCAL_CPPFLAGS =-frtti. Agregar STLPORT_FORCE_REBUILD en mk: = true puede forzar la recompilación del código fuente de STLPort. Por alguna razón, es posible que deba modificar su propia biblioteca STLPort. Generalmente, los desarrolladores no necesitan usar esta función.
2. Incluya los archivos de encabezado relevantes en el archivo cpp para usar STL y use el espacio de nombres std;.