使用Ubuntu18编译ncnn库

使用Ubuntu编译ncnn库

1. 下载安装NDK

  1. 首先要下载和解压NDK。
wget https://dl.google.com/android/repository/android-ndk-r17b-linux-x86_64.zip
unzip android-ndk-r17b-linux-x86_64.zip
  1. 设置NDK环境变量,目录是NDK的解压目录。
export NDK_ROOT="/home/ying/usb/android-ndk-r17b"
  1. 设置好之后,可以使用以下的命令查看配置情况。
ying@ying:~/usb/ncnn$ echo $NDK_ROOT
/home/ying/usb/ncnn/android-ndk-r17b

2. 安装cmake

安装cmake,需要安装较高版本的,笔者的cmake版本是3.11.2。

  1. 下载cmake源码
wget https://cmake.org/files/v3.11/cmake-3.11.2.tar.gz
  1. 解压cmake源码
tar -zxvf cmake-3.11.2.tar.gz
  1. 进入到cmake源码根目录,并执行bootstrap。
cd cmake-3.11.2
./bootstrap
  1. 最后执行以下两条命令开始安装cmake。
make
make install
  1. 安装完成之后,可以使用cmake --version是否安装成功。
ying@ying:~/usb/ncnn/cmake-3.11.2$ cmake --version
cmake version 3.11.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).

3. 下载编译ncnn

  1. 克隆ncnn源码。
git clone https://github.com/Tencent/ncnn.git
  1. 编译源码。
# 进入到ncnn源码根目录下
cd ncnn
# 创建一个新的文件夹
mkdir -p build-android-armv7
# 进入到该文件夹中
cd build-android-armv7
# 执行编译命令
cmake -DCMAKE_TOOLCHAIN_FILE=$NDK_ROOT/build/cmake/android.toolchain.cmake \
    -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON \
    -DANDROID_PLATFORM=android-14 ..
# 这里笔者使用4个行程并行编译
make -j4
make install
  1. 编译完成
    会在build-android-armv7目录下生成一个install目录,我们编译得到的文件都在该文件夹下:
    • include 调用ncnn所需的头文件,该文件夹会存放在Android项目的src/main/cpp目录下;
    • lib 编译得到的ncnn库libncnn.a,之后会存放在Android项目的src/main/jniLibs/armeabi-v7a/libncnn.a
发布了56 篇原创文章 · 获赞 11 · 访问量 2351

猜你喜欢

转载自blog.csdn.net/weixin_43056275/article/details/105263982