Ubuntu 32下Android NDK+NEON的配置过程及简单使用举例
1、 利用VMware在Windows7 64位下安装Ubuntu13.10 32位虚拟机;
2、 从 https://developer.android.com/tools/sdk/ndk/index.html下载android-ndk32-r10-linux-x86.tar.bz2;
3、 将android-ndk32-r10-linux-x86.tar.bz2拷贝到Ubuntu的/home/spring/NEON文件夹下,并解压缩;
4、 配置环境变量:在终端输入 sudovi /etc/profile , 打开profile文件,在此文件最后加上:
export NDKROOT=/home/spring/NEON/android-ndk-r10 (注意:绝对路径)
6、 输入 echo $PATH,会有/home/spring/NEON/android-ndk-r10 ;
7、 输入 ndk-build,显示AndroidNDK 等相关信息,说明配置NDK成功;
11、 重启Ubuntu,在终端输入 arm-linum-gcc -v ,如果显示gcc version 4.4.3等相关信息,说明配置成功。
示例代码(http://hilbert-space.de/?p=22) test.cpp:
void reference_convert (uint8_t * __restrict dest, uint8_t * __restrict src, int n)
{int i;for (i=0; i<n; i++){int r = *src++; // load redint g = *src++; // load greenint b = *src++; // load blue // build weighted average:int y = (r*77)+(g*151)+(b*28);// undo the scale by 256 and write to memory:*dest++ = (y>>8);}
}void neon_convert (uint8_t * __restrict dest, uint8_t * __restrict src, int n)
{int i;uint8x8_t rfac = vdup_n_u8 (77);uint8x8_t gfac = vdup_n_u8 (151);uint8x8_t bfac = vdup_n_u8 (28);n/=8;for (i=0; i<n; i++){uint16x8_t temp;uint8x8x3_t rgb = vld3_u8 (src);uint8x8_t result;temp = vmull_u8 (rgb.val[0], rfac);temp = vmlal_u8 (temp,rgb.val[1], gfac);temp = vmlal_u8 (temp,rgb.val[2], bfac);result = vshrn_n_u16 (temp, 8);vst1_u8 (dest, result);src += 8*3;dest += 8;}
}
12、执行命令: arm-linux-gcc –g –c –Os –fPIC–mfloat-abi=softfp –mfpu=neon test.cpp
ar –r libtest[android].a *.o 成功生成libtest[android].a静态库。
还有另外一种方法,就是无需安装arm-linux-gcc,直接用Android-NDK即可,操作步骤如下:
1、 接着以上第7步;
2、 添加环境变量:在终端输入 sudovi /etc/profile , 打开profile文件,在此文件最后加上:
export NDKBIN=/home/spring/NEON/android-ndk-r10/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin(注意:绝对路径)
export PATH=$NDKBIN:$PATH
3、 保存profile文件,重启Ubuntu;
4、 输入echo $PATH, 会有/home/spring/NEON/android-ndk-r10/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin
5、 编译test.cpp代码: arm-linux-androideabi-gcc -I/home/spring/NEON/android-ndk-r10/platforms/android-9/arch-arm/usr/include-c -Os –mfloat-abi=softfp –mfpu=neon test.cpp
ar –r libtest[android].a *.o 成功生成libtest[android].a静态库。
Ubuntu 32下Android NDK+NEON的配置过程及简单使用举例相关推荐
- Ubuntu:Ubuntu系统下在pycharm软件内配置anaconda环境(一张图轻松搞定!)
Ubuntu:Ubuntu系统下在pycharm软件内配置anaconda环境(一张图轻松搞定!) 目录 Ubuntu系统下在pycharm软件内配置anaconda环境 Ubuntu系统下在pych ...
- Linux(Ubuntu 16) 下Java开发环境的配置(二)------Tomcat的配置及常见问题
前言 相比于java JDK的配置,Tomcat的配置简单的多,简直就相当于直接运行了,本文以Tomcat8.0为例进行配置 1.Tomcat的下载 地址:https://tomcat.apache. ...
- linux ubuntu环境下 android jdk sdk eclipse adt 以及手机连接无法识别的解决方法
linux ubuntu环境下 android jdk sdk eclipse adt 以及手机连接无法识别到总结 1.下载jdk-6u26-linux-i586.bin并复制到在目标文件夹(例如/u ...
- Ubuntu环境下基于Linux进行DOL配置
Ubuntu环境下基于Linux进行DOL配置 Description The distributed operation layer (DOL) is a framework that enable ...
- windows 下 Android NDK开发配置(window + cygwin + NDK )
cygwin 下载地址: http://www.cygwin.com/ NDK下载地址 : http://yueguc.javaeye.com/blog/494016 具体安装 过程 参考 http: ...
- 【ubuntu】Ubuntu中Android NDK下载跟配置
(1)下载 wget -c http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin (2)对应目录下解压 chmod a+ ...
- Windows环境下Android NDK环境搭建
转自:http://blog.csdn.net/pengchua/article/details/7582949 前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只 ...
- android ndk neon,Android NDK开发之 NEON使用介绍
首先找到了要在C源代码中只用NEON库需要的头文件 arm_neon.h. #include //在代码中先添加了这行语句,然后执行ndk-build 却提示了错误 //提示要增加什么标志,自己在 L ...
- Ubuntu系统下NS-3安装与工具配置
持1.NS3介绍 官网:https://www.nsnam.org/ 引用官网的介绍: ns-3是用于因特网系统的离散事件网络模拟器,主要用于研究和教育用途.ns-3是免费软件,根据GNU GPLv2 ...
最新文章
- [k8s] 第五章 Pod详解
- Net与Flex入门
- mysql删除用户账号和密码_mysql添加、删除用户和授权用户
- QML笔记-对QML中信号与槽的基本认识
- 群晖NAS删除文件不释放空间的原因和方法
- Caffe学习2:Blob
- IEEE会议文章接收后提交流程
- matlab画运动轨迹,Matlab画小球沿轨迹运动
- python判断是否为中文、中文符号、英文、英文符号
- Linux内核2:中断代码分析
- 【转载】CodeWarrior IDE使用tips之prm链接文件详解(自定义存储器分区以及自定义RAM数据初始化与在RAM中运行函数)...
- QT在windows上检测USB端口插拔
- python在cmd中打印彩色文字
- vscode中tab键无效怎么办
- metasploit meterpreter介绍
- 【转】 中兴OLT-C300常用命令
- java开发中常用的算法_总结一下项目开发过程中常用的到的一些加密算法。
- WIN10鼠标指针在等待状态下出现重影、假影、虚影,、显示错误的问题。
- SSM毕设项目洗浴中心管理系统b6027(java+VUE+Mybatis+Maven+Mysql)
- 关于WEBQQ的实现(二)
热门文章
- Linux那些事儿 之 戏说USB(30)驱动的生命线(二)
- 中国传媒大学计算机系湖北分数线,中国传媒大学录取分数线2019(在各省市录取数据)...
- scp 命令 路径_基于SSH的文件传输:scp命令
- 学习PCL库你应该知道的C++特性
- 基于Eigen库和Matlab计算非线性多元函数最小值
- 在温系统下制作马克系统引导安装镜像启动U盘安装马克OS
- 喂~讲真~我很讨厌chrome谷歌浏览器的默认填充输入框input样式咧,敲击讨厌滴啦,怎么去掉介个样式尼
- Cmake 实例学习 一
- OpenC 仿射变换
- 模板1.0 -- 模板基本原理