C++ ';运行时错误';尝试使用Android NDK生成so文件时未在此作用域中声明
我读了下面的帖子,但我认为它不适用于我的情况: 我的问题几乎是一样的,但我正在尝试用AndroidNDK(r8c)编译一个文件,我检查了NDK是否有stdexcept.h,它确实有。以下是我的资料来源:C++ ';运行时错误';尝试使用Android NDK生成so文件时未在此作用域中声明,c++,android-ndk,g++,native,C++,Android Ndk,G++,Native,我读了下面的帖子,但我认为它不适用于我的情况: 我的问题几乎是一样的,但我正在尝试用AndroidNDK(r8c)编译一个文件,我检查了NDK是否有stdexcept.h,它确实有。以下是我的资料来源: #include <stdexcept> class RandomName : public std::runtime_error { public: ... }; 我应该在Android.mk文件中添加一些行吗?最新的NDK文档在CPLUSPLUS-SUPPORT.html
#include <stdexcept>
class RandomName : public std::runtime_error {
public:
...
};
我应该在Android.mk文件中添加一些行吗?最新的NDK文档在CPLUSPLUS-SUPPORT.html文件中对此有很好的解释,尽管我将在这里生成相关的位。对于默认的系统运行时,仅提供以下标题: cassert cctype cerrno cfloat climits cmath csetjmp csignal CSTDEF
cstdint cstdio cstdlib cstring ctime cwchar新stl_对.h类型信息
效用 从NDK第8版开始,唯一支持异常的运行时是gnustl,您可以通过将以下内容添加到Application.mk而不是Android.mk静态链接该运行时: APP_STL:=gnustl_static 即使如此,您还需要额外的步骤: < NDK工具链支持C++异常,因为NDK R5,但是所有 C++源是默认情况下用-FNO异常支持编译的 与以前版本的兼容性原因 要启用它,请在您的应用程序中使用新的LOCAL_CPP_FEATURES变量 Android.mk,如:
LOCAL_CPP_FEATURES += exceptions
最新的NDK文档在CPLUSPLUS-SUPPORT.html文件中对此有很好的解释,尽管我将在这里给出相关的部分。对于默认的系统运行时,仅提供以下标题: cassert cctype cerrno cfloat climits cmath csetjmp csignal CSTDEF
cstdint cstdio cstdlib cstring ctime cwchar新stl_对.h类型信息
效用 从NDK第8版开始,唯一支持异常的运行时是gnustl,您可以通过将以下内容添加到Application.mk而不是Android.mk静态链接该运行时: APP_STL:=gnustl_static 即使如此,您还需要额外的步骤: < NDK工具链支持C++异常,因为NDK R5,但是所有 C++源是默认情况下用-FNO异常支持编译的 与以前版本的兼容性原因 要启用它,请在您的应用程序中使用新的LOCAL_CPP_FEATURES变量 Android.mk,如:
LOCAL_CPP_FEATURES += exceptions
还有,stdexcept头中是否存在类运行时错误?是的,运行时错误类在文件中,而stdexcept头中是否存在类运行时错误?是的,运行时错误类在文件中。如果我添加本地\u CPP\u功能+=异常,我将无法再使用动态\u强制转换?是吗?我没有尝试将它们结合起来,但我对文档的理解是,您可以通过:LOCAL_CPP_FEATURES:=rtti FEATURES来启用rtti和异常。因此,如果我添加LOCAL_CPP_FEATURES+=异常,我将无法再使用dynamic_cast了?是吗?我没有尝试将它们结合起来,但我对文档的理解是,您可以通过:LOCAL_CPP_FEATURES:=rtti FEATURES来启用rtti和异常