github上面的sh1r0/caffe-android-lib项目中如下内容获知

Build

Tested with Android NDK r11c and cmake 3.3.2 on Ubuntu 14.04

git clone --recursive https://github.com/sh1r0/caffe-android-lib.gitcd caffe-android-libexport ANDROID_ABI="arm64-v8a" # Optional, see the note below

./build.sh <path/to/ndk>

caffe-android-lib的编译环境是android-ndk-r11ccmake3.3.2Ubuntu14.04,因此编译所需的环境配置不能比这低,因此本文的编译是在虚拟机Ubuntu16.0464位)、android-ndk-r13b以及cmake3.5.1环境下进行的。

1Android-ndk的安装

1.下载android-ndk64-r10b-linux-x86_64.tar.bz2,下载地址:

wget -c https://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip

2. 把下载好的android-ndk64-r13b版本解压

unzip android-ndk-r13b-linux-x86_64.zip

解压后的文件在/home/android-r13b目录下

3.配置环境变量:

 vim~/.bashrc

在最底下添加以下代码:

export NDK_ROOT=/home/bing/android-ndk-r13b     #ndk安装路径
export PATH=$PATH:$NDK_ROOT

wq保存关闭。

5.source .bashrc使其修改的文件生效。

6.ndk-build看看咱们配置环境变量成功没,只要没出command not found就证明环境变量配置成功,如果成功显示如下,

 

 

2)安装cmake

直接用apt-get命令就可以安装

sudo apt-get install cmake
检验安装配置是否成功:
cmake -version


如果显示版本号,则说明成功;如果找不到该指令,则说明没有正确安装配置。

3)编译caffe-android-lib

github网上下载caffe-android-lib
git clone --recursive https://github.com/sh1r0/caffe-android-lib.git
caffe-android-lib目录下

cd caffe-android-lib

编译
./build.sh

编译成功后如下图所示:DONE!!

 

 

编译过程中出现的问题:

C Compiler (/home/bing/android-ndk-r13b/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86/bin/aarch64-linux-android-gcc --sysroot=/home/bing/android-ndk-r13b/platforms/android-21/arch-arm64) is something wrong.
1 at ./c_check line 24.
make: *** [config.h] Error 2
Makefile.system:165: Makefile.conf: No such file or directory
Makefile.system:906: Makefile.: No such file or directory
make: *** No rule to make target `Makefile.'. Stop.
Failed to build OpenBLAS

这个问题不是ndk版本问题,也不是缺少依赖文件所致,是由于编译环境的问题,之前是使用的Ubuntu32位导致OpenBLAS一直编译不成功,后来换成了Ubuntu64位就成功了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐