如何用NDK创建一个标准的arm交叉编译工具链链

存放不同android版本,不同平台架构的头文件和库文件
存放和编译相关工具比如make.exe
ndk代码例子,用根目录下的ndk-build即可编译
一些测试样例,有很多例子可以从里面学习
不同平台的编译器链接器目录以及一些和编译连接相关的工具,gcc,ld等工具都在这个目录


 

 

6. 源文件和编译脚本

#sdk头文件搜索路径 #sdk库文件搜索路径

由于指令集等的不同在用NDK移植某些程序的时候,可能需要考虑程序移植结果的正确性就arm和x86对比而言,

   主要需要考虑的是:内存中字节对齐的差异、浮点数操作的差异、向量化指令的差异(NEON和SSE等)等

   当然,并不是所有的程序都会在这些方面影响程序的结果

从Android官方下载NDK工具然后在系统变量中记得添加NDK主目录,不然无法使用ndk-build命令编译应用
使用NDK手动编译生成.so文件:
1)新建应用名称,如hello
2)在hello文件夹下新建目錄jni
3)在jni目录下新建hello.c,内容如下:

保存好上面三个文件然后进入到hello文件夹下,执行命令:ndk-build
命令执行完会在hello文件夹下生成额外的两个文件夾:libs和obj,libs文件夹下的.so文件正是我们所需要的
linux下使用NDK的gcc命令环境变量配置:

我要回帖

更多关于 交叉编译工具链 的文章

 

随机推荐