NDK遇到的一系列问题

来源:互联网 发布:2017春运大数据 编辑:程序博客网 时间:2024/04/28 15:38

     开发Andriod的朋友相信都应该知道,NDK是一个必不可少的玩意,这里我主要是对NDK调试过程中遇到的几个问题做了一个记录,但是对NDK整套的机制还不是非常明白,希望大家能给予大量的批评与建议。


    1.当用C++来开发NDK时会遇到这么一个问题,

这个问题,或多或少都会遇到,也许用C语言来开发的朋友很少会遇到这种情况,这是因为你的C++语法不符合规范,

比如C++的语法是这样:

而C语言的语法是这样:


还有一点就是当你写C语言的时候,NDK是直接编译的,但是NDK可能不认识C++,所以这时候你要加上这个玩意:

这样就把你原来的代码包括在了这个域中了,这时NDK编译器就会把下面的东西以C语言的规范来执行,就不会有错了


     2.当你一开始用C语言开发的时候,突然发现有些东西不好弄了,于是中途想转为重新用C++来写,那么这时候,往往编译会遇到这样一个错误,

这时其实不是因为你的C++语法问题,或是其他的NDK格式问题,其实是项目中保留了以前的C的残留,你只需NDK-BUILD CLEAN就可以了,先清除一些以前的残留,再重新编译即可。


     3.在NDK调试中总会遇到这样一个问题:

这时候你需要新建一个Application.mk的文件,文件中内容写上:

这里大家按照自己的软件配置来写就行,我用的so文件的格式是armeabi规则的,我的平台的SDK最低版本允许是android-3(可以参照),所以我这里是这么写的


   4.

当你在编写JNI的过程中,往往想要导入某个头文件,比如我在写C++的时候,想要#include<string>,可是,编译的时候就会报以下错误,


   这时候你就应该在Application.mk文件里添加一句话,

这就表示要让NDK支持STL,从而就能够正确编译了


以上是调试过程中遇到的一些问题,不太全,请各位大牛包涵,有不对的地方,请指出,具体的调试过程等待下一篇的介绍,谢谢

0 0
原创粉丝点击