Centos系统中 Android tbb的编译
来源:互联网 发布:linux cat sed 编辑:程序博客网 时间:2024/05/16 04:14
编译动态库,怕的就是官方文档不说明不同版本可能依赖的软件版本不一样。为此最好是尝试不同版本的动态库源码进行编译,这样依赖软件不改变就可能编译成功了。
一、NDK的下载
下载NDK:地址:
http://dl.google.com/android/ndk/android-ndk-r8d-linux-x86.zip
二、TBB下载
官方网站上提供不同平台的TBB下载,但是用于android,其动态库要求为armeabi或armeabi-v7a的版本需要自己编译,linux版本的android tbb是x86架构的。因此需要下载源码进行编译。有点版本的源码不知道怎么回事,编译不了,所以可能需要下载不同的版本进行尝试。
三、编译步骤
1、解压NDK,设置NDK的路径,注意的是,tbb默认的nkd的路径名称为
ANDROID_NDK_ROOT,因此环境变量为:
export ANDROID_NDK_ROOT=/home/android-ndk-r8d;
export PATH=/home/android-ndk-r8d:$PATH;
2、解压tbb,进入tbb根目录,在命令行键入3.如果出错,下面有错误的可能相关处理办法。
4.导入tbb android项目,项目地址为:tbb42_20140122oss\examples\parallel_for\tachyon\android
5.如果tbb编译成功,则导入项目也可以直接编译成功。
四、错误解决办法
1、下载不到ndk旧版本
ndk官方网站上只提供最新版的ndk下载,下载旧版ndk的方法为将上面红色的地方修改,如下载linux下32位nkd7,则下载地址为http://dl.google.com/android/ndk/android-ndk-r8d-linux-x7d.zip
2、设置android adb环境变量
2.1.找到android sdk的本地路径,
adb命令在platform-tool下面,记为XXXX
我的路径是(/Applications/eclipse/android-sdk-mac_x86/platform-tools)
gedit /etc/profile 点回车
2.3.添加路径
如果打开的文档里面已经有内容,我们只要之后添加;XXXX(注意前面一定要用分号隔开),
如果是一个空白文档的话,我们就输入一下内容
export PATH=${PATH}:XXXX
保存,关掉这个文档,
2.4.终端输入命令
2.5.终端输入命令 adb点回车,如果未显示command not found,说明此命令有效,环境便亮设置完成。
二、设置NDK版本
项目使用的一个开源库更新后,发现在android平台编译出错了,因为他使用了c++11的auto特性,编译器尚未支持。
因为gcc4.8.1已经完全实现了c++11的特性,所以我需要看一下我使用的ndk支持哪些toolchain。
我使用的是ndk r8e (也是目前-2013.6月-的最新版),看一下他的toolchains目录,支持到了gcc4.7。根据他的文档,默认是使用了gcc4.6。
设置toolchain的方法是在Application.mk中设置:
NDK_TOOLCHAIN_VERSION = 4.7
为了确认是否设置成功,在ndk-build调用时增加参数V=1。即 ndk-build V=1 ..其他参数..
结果会显示:/Developer/sdks/android-ndk-r8e/toolchains/arm-linux-androideabi-4.7/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-g++ -MMD -MP -MF ....
所以可以看到设置成功了。
- Centos系统中 Android tbb的编译
- tbb 编译
- Linux中eclipse配置编译TBB
- 编译iOS版本的tbb库
- CentOS环境下全志H3 android系统编译
- 关于opencv+cuda+vs+tbb编译opencv的问题
- Android的编译系统
- Android的编译系统
- Android 的编译系统
- Android的编译系统
- Android的编译系统
- Android的编译系统
- Android的编译系统
- 在aliyun的centos系统中编译node时出现错误:No Module Named bz2
- pthread与tbb中各种锁的对比测试
- android编译中修改默认的系统应用
- CentOS 6.4系统中编译和升级内核
- 64bit Centos系统中 Daq-2.0.6 编译
- 从零冲击Erlang(一)
- 无法创建Web Application项目的问题
- 2014年4月21日 幼儿园的生意经
- ASP.NET 嵌套母版页中找不到控件问题(未已用到对象错误)
- 删除空格
- Centos系统中 Android tbb的编译
- 重走数据结构之旅
- Jetty学习【六】Connection
- 判断AL是否为十六进制并将其十进制存入AL
- WMI介绍及简单应用
- 基于vxworks的PCI设备驱动编写
- Prototype(原型模型)
- 数据挖掘建模过程
- 函数返回值:引用类型和非引用类型