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 (注意:绝对路径)

export PATH=$NDKROOT:$PATH

5、  保存profile文件,重启Ubuntu;

6、  输入 echo $PATH,会有/home/spring/NEON/android-ndk-r10 ;

7、  输入 ndk-build,显示AndroidNDK 等相关信息,说明配置NDK成功;

8、  安装arm-linux-gcc(基于arm架构的linux平台交叉编译工具):从http://www.arm9.net/download.asp 下载arm-linux-gcc-4.4.3-20100728.tar.gz;

9、  将arm-linux-gcc-4.4.3-20100728.tar.gz拷贝到Ubuntu的/home/spring/NEON文件夹下,并解压缩;tarxvzf arm-linux-gcc-4.4.3-20100728.tar.gz

10、             配置环境变量:在终端输入 sudo vi /etc/profile , 打开profile文件, 在此文件最后加上:exportPATH=$PATH:/home/spring/NEON/opt/FriendlyARM/toolschain/4.4.3/bin ,保存profile;

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的配置过程及简单使用举例相关推荐

  1. Ubuntu:Ubuntu系统下在pycharm软件内配置anaconda环境(一张图轻松搞定!)

    Ubuntu:Ubuntu系统下在pycharm软件内配置anaconda环境(一张图轻松搞定!) 目录 Ubuntu系统下在pycharm软件内配置anaconda环境 Ubuntu系统下在pych ...

  2. Linux(Ubuntu 16) 下Java开发环境的配置(二)------Tomcat的配置及常见问题

    前言 相比于java JDK的配置,Tomcat的配置简单的多,简直就相当于直接运行了,本文以Tomcat8.0为例进行配置 1.Tomcat的下载 地址:https://tomcat.apache. ...

  3. linux ubuntu环境下 android jdk sdk eclipse adt 以及手机连接无法识别的解决方法

    linux ubuntu环境下 android jdk sdk eclipse adt 以及手机连接无法识别到总结 1.下载jdk-6u26-linux-i586.bin并复制到在目标文件夹(例如/u ...

  4. Ubuntu环境下基于Linux进行DOL配置

    Ubuntu环境下基于Linux进行DOL配置 Description The distributed operation layer (DOL) is a framework that enable ...

  5. windows 下 Android NDK开发配置(window + cygwin + NDK )

    cygwin 下载地址: http://www.cygwin.com/ NDK下载地址 : http://yueguc.javaeye.com/blog/494016 具体安装 过程 参考 http: ...

  6. 【ubuntu】Ubuntu中Android NDK下载跟配置

    (1)下载 wget -c http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin (2)对应目录下解压 chmod a+ ...

  7. Windows环境下Android NDK环境搭建

    转自:http://blog.csdn.net/pengchua/article/details/7582949 前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只 ...

  8. android ndk neon,Android NDK开发之 NEON使用介绍

    首先找到了要在C源代码中只用NEON库需要的头文件 arm_neon.h. #include //在代码中先添加了这行语句,然后执行ndk-build 却提示了错误 //提示要增加什么标志,自己在 L ...

  9. Ubuntu系统下NS-3安装与工具配置

    持1.NS3介绍 官网:https://www.nsnam.org/ 引用官网的介绍: ns-3是用于因特网系统的离散事件网络模拟器,主要用于研究和教育用途.ns-3是免费软件,根据GNU GPLv2 ...

最新文章

  1. [k8s] 第五章 Pod详解
  2. Net与Flex入门
  3. mysql删除用户账号和密码_mysql添加、删除用户和授权用户
  4. QML笔记-对QML中信号与槽的基本认识
  5. 群晖NAS删除文件不释放空间的原因和方法
  6. Caffe学习2:Blob
  7. IEEE会议文章接收后提交流程
  8. matlab画运动轨迹,Matlab画小球沿轨迹运动
  9. python判断是否为中文、中文符号、英文、英文符号
  10. Linux内核2:中断代码分析
  11. 【转载】CodeWarrior IDE使用tips之prm链接文件详解(自定义存储器分区以及自定义RAM数据初始化与在RAM中运行函数)...
  12. QT在windows上检测USB端口插拔
  13. python在cmd中打印彩色文字
  14. vscode中tab键无效怎么办
  15. metasploit meterpreter介绍
  16. 【转】 中兴OLT-C300常用命令
  17. java开发中常用的算法_总结一下项目开发过程中常用的到的一些加密算法。
  18. WIN10鼠标指针在等待状态下出现重影、假影、虚影,、显示错误的问题。
  19. SSM毕设项目洗浴中心管理系统b6027(java+VUE+Mybatis+Maven+Mysql)
  20. 关于WEBQQ的实现(二)

热门文章

  1. Linux那些事儿 之 戏说USB(30)驱动的生命线(二)
  2. 中国传媒大学计算机系湖北分数线,中国传媒大学录取分数线2019(在各省市录取数据)...
  3. scp 命令 路径_基于SSH的文件传输:scp命令
  4. 学习PCL库你应该知道的C++特性
  5. 基于Eigen库和Matlab计算非线性多元函数最小值
  6. 在温系统下制作马克系统引导安装镜像启动U盘安装马克OS
  7. 喂~讲真~我很讨厌chrome谷歌浏览器的默认填充输入框input样式咧,敲击讨厌滴啦,怎么去掉介个样式尼
  8. Cmake 实例学习 一
  9. OpenC 仿射变换
  10. 模板1.0 -- 模板基本原理