Habilitar excepción C ++

Estoy tratando de hacer APP código nativo para Android. El código nativo está en cplusplus. Siempre que intento hacer, aparece el siguiente error.

H236Plus.cpp: 135: error: manejo de excepciones inhabilitado, use -fexceptions para habilitar

¿Cómo utilizo -fexceptions para habilitar el manejo de excepciones, y dónde lo uso?

Necesita crear con NDK personalizado de CrystaX. Tiene libstdc ++ completo, RTTI y soporte de excepciones. Es generalmente la mejor herramienta para el desarrollo de Android que conozco.

Depende del tiempo de ejecución que esté utilizando. Si no está utilizando el tiempo de ejecución del sistema y está construyendo con ndk-build , agregue cualquiera de ellos al archivo Android.mk:

  • LOCAL_CPP_FEATURES + = excepciones (recomendado)
  • LOCAL_CPPFLAGS + = -fexceptions

Además, puede agregar la siguiente línea a su archivo Application.mk:

  • APP_CPPFLAGS + = -fexceptions

Hay más información en docs/CPLUSPLUS-SUPPORT.html en su carpeta NDK

-fexception es un conmutador de compilador. Su uso dependerá de la configuración del compilador. Qué compilador estas usando? IDE? Herramienta de construcción

En los indicadores del compilador, agregue -fexception en su Makefile.

Con la última versión de Android Studio esto es lo que mi build.gradle se parece a:

 model { android { compileSdkVersion 23 buildToolsVersion "23.0.2" buildTypes { release { minifyEnabled false shrinkResources false proguardFiles.add(file("proguard-rules.txt")) signingConfig = $("android.signingConfigs.release") } } defaultConfig { applicationId "my.android.app" minSdkVersion.apiLevel 16 targetSdkVersion.apiLevel 23 versionCode 29 versionName "my.latest.version" } ndk { moduleName "jni-utils" ldLibs.add("log") cppFlags.add("-std=c++11") cppFlags.add("-fexceptions") stl "gnustl_static" } } android.signingConfigs { create("release") { storeFile "C:\\Android\\Git\\MyProject\\keystore\\keystoreCommon" storePassword "put you password here" keyAlias "put your alias here" keyPassword "put your password here" } } } 

He resuelto este problema mediante la adición de cFlags "-fexceptions" en la sección ndk de script build.gradle, como esto:

 ndk { ... cFlags "-fexceptions" } 
  • Gnu Makefile para gdc
  • ¿Cómo hacer un android mm limpio?
  • make: *** No se han especificado objetivos y no se ha encontrado ningún makefile. Detener
  • Construir Firefox Fennec con Flash Player incrustado
  • Guardar vista como mapa de bits, sólo obtener pantalla en negro
  • Android-ndk Adición de bibliotecas estáticas al android.mk
  • OpenSSL compilado para ejecutarse en la arquitectura x86 de Android
  • Declaración implícita incompatible de la función incorporada Advertencia Uso de NDK con LAME
  • Uso de la función 'comodín' de Make en Android.mk
  • gcc disable -Wall flag para archivos / carpetas específicos
  • De repente, la hormiga / carpeta no aparece en el SDK de Android. Google lo eliminó?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.