【错误记录】Visual Studio 中编译 NDK 报错 ( error : cannot use ‘throw‘ with exceptions disabled )

2023-03-29 20:43:03 浏览数 (1)

文章目录

  • 一、报错信息
  • 二、解决方案

一、报错信息


使用 Visual Studio 2019 编译 Android NDK 项目 , 报错如下 :

代码语言:javascript复制
已启动生成…
1>------ 已启动生成: 项目: native, 配置: Debug ARM ------
1>ANDROID_HOME=D:\MicrosoftAndroidSDK25
1>ANT_HOME=D:01_Develop17_Microsoft Visual Studio2019CommunityAppsapache-ant-1.9.3
1>JAVA_HOME=C:Program FilesAndroidjdkmicrosoft_dist_openjdk_1.8.0.25
1>NDK_ROOT=D:\MicrosoftAndroidNDK64android-ndk-r16b
1>json_reader.cpp
1>jsonjson_reader.cpp(1129,14): error : cannot use 'throw' with exceptions disabled
1>    if (!ok) throw std::runtime_error(reader.getFormatedErrorMessages());
1>             ^
1>1 error generated.
1>已完成生成项目“native.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

二、解决方案


在项目属性中设置 " 启动 C 异常 " 项为 " 是 ( -fexception ) " 选项 ;

如果使用 Android.mk 构建项目 , 可以添加 LOCAL_CPP_FEATURES = exceptionsLOCAL_CPPFLAGS = -fexceptions 配置 ;

也可以在 Application.mk 中配置 APP_CPPFLAGS = -fexceptions ;

0 人点赞