Android编译MNN

参考MNN官方文档 ubuntu环境 记录编译过程
编译环境:Ubuntu 20.04.2 LTS NDK:android-ndk-r22b
MNN环境要求
● cmake(建议使用3.10或以上版本)、
● protobuf(使用3.0或以上版本)
● gcc(使用4.9或以上版本)

1.下载NDK https://developer.android.google.cn/ndk/downloads?hl=zh_cn
2.下载MNN源码

git命令下载或者下载压缩包自行解压

 git clone https://github.com/Tencent/ncnn.git
3.编译
#进入编译目录
cd {mnn-root-dir}/project/android
#编译armv7动态库
mkdir build_32 && cd build_32 && ../build_32.sh
#编译armv8动态库:
mkdir build_64 && cd build_64 && ../build_64.sh
  • 正常编译动态库armv7在{mnn-root-dir}/project/android/build_32,armv8同理.
    Android编译MNN_第1张图片
  • 头文件
    Android编译MNN_第2张图片
    注意:这边编译出现了一个问题,设置了环境变量,但是一直找不到ndk的编译链,导致一直编译不了.
    Android编译MNN_第3张图片
    后面没办法,只能直接在脚本文件里面指定当前编译链的位置
    修改脚本文件(build_32.sh,build_64.sh)
    DCMAKE_TOOLCHAIN_FILE= 后面的编译链位置改为自己ndk编译链的位置,比如我的是 /home/moyihen/Desktop/android-ndk-r22b/build/cmake/android.toolchain.cmake
    修改前:
    Android编译MNN_第4张图片
    修改后:
    Android编译MNN_第5张图片
    改完就可以正常编译了.

集成部署模型可以参考https://blog.csdn.net/qq_35193677/article/details/126526770.

你可能感兴趣的:(android学习笔记,NDK,android,mnn,人工智能)