您的位置:首页 > 移动开发 > Android开发

NDK-jni error for android

2013-04-17 17:12 555 查看
最近在搞NDK的东西,频繁出错,遂记录之。

1.NDK Note: The Mangling of 'Va_list' Has Changed
in GCC 4.4

解决办法,修改 Android.mk,加一行:

LOCAL_CFLAGS = -Wno-psabi


2. 


error: exception handling disabled, use -fexceptions to enable


解决NDK出现error: exception handling disabled, use -fexceptions to enable的问题

问题来源:

 UDT的android平台移植过程中,在用NDK编译buffer.cpp文件时出现error: exception handling disabled, use -fexceptions to enable。

 

问题解决:

   此问题的出现是编译器的异常异常捕获被禁用了,需要在Android.mk文件中开启。在Android.mk文件中添加:LOCAL_CPPFLAGS += -fexceptions就可以了。或者在Application.mk文件中添加APP_CPPFLAGS += -fexceptions

也是可以的。

 

补充:

  Android NDK r5对C++的支持情况

  android平台提供了一个最小化的C++运行库(/system/lib/libstdc++)以及与之对应的头文件。

1、C++的异常支持:

 

    从NDK r5就开始NDK的工具链就开始支持了C++的异常控制,只不过为了通用性的原因,所有的C++原文件被编译的时候都是默认的是-fno-exceptions,即不不支持异常控制的。

    使用-fexceptions标记可以开启异常控制。所以你只需要在你的每个模块的Android.mk中添加LOCAL_CPPFLAGS += -fexceptions就可以了。

    更简单的是,在你的Application.mk文件中添加APP_CPPFLAGS += -fexceptions,这种配置会自动应用到你工程的所有模块当中。

    注意:

     已被废弃的"arm-eabi-4.4.0"工具链提供的向后兼容的NDK是不支持异常的。

http://blog.sina.com.cn/s/blog_643e838601015zbo.html

3. recipe commences before first target. Stop。

链接:http://www.gnu.org/software/make/manual/html_node/Error-Messages.html error集合

持续更新中~~~~~~~~~~~~~~~~~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jni Android NDK error
相关文章推荐