编译 Tengine Lite 依赖 git, g++, cmake, make
等以下基本工具,如果没有安装,
-
Ubuntu18.04 系统命令如下:
sudo apt-get install cmake make g++ git
-
Fedora28 系统命令如下:
sudo dnf install cmake make g++ git
下载 Tengine Lite 源码,位于 Tengine 的分支 tengine-lite 上:
git clone -b tengine-lite https://github.com/OAID/Tengine.git Tengine-Lite
cd Tengine-Lite
mkdir build
cd build
cmake ..
make
make install
编译完成后 build/install/lib 目录会生成 libtengine-lite.so
文件,如下所示:
install
├── bin
│ ├── tm_benchmark
│ ├── tm_classification
│ └── tm_mobilenet_ssd
├── include
│ └── tengine_c_api.h
└── lib
└── libtengine-lite.so
git clone -b tengine-lite https://github.com/OAID/Tengine.git Tengine-Lite
Arm64 Linux 交叉编译工具链为:
sudo apt install g++-aarch64-linux-gnu
Arm32 Linux 交叉编译工具链为:
sudo apt install g++-arm-linux-gnueabihf
cd Tengine-Lite
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/arm-linux-gnueabihf.toolchain.cmake ..
make
make install
编译完成后会生成 libtengine-lite.so
文件,并且会把相关的头文件、libtengine-lite.so
文件和相关的测试程序复制到 build/install
目录中。
传送门 http://developer.android.com/ndk/downloads/index.html
比如我把 android-ndk 解压到 /home/openailab/android-ndk-r18b
android.toolchain.cmake 这个文件可以从 $ANDROID_NDK/build/cmake 找到
(可选) 删除debug编译参数,缩小二进制体积 android-ndk issue
# 用编辑器打开 $ANDROID_NDK/build/cmake/android.toolchain.cmake
# 删除 "-g" 这行
list(APPEND ANDROID_COMPILER_FLAGS
-g
-DANDROID
git clone -b tengine-lite https://github.com/OAID/Tengine.git Tengine-Lite
Arm64 Android 编译命令如下:
mkdir build-android-aarch64
cd build-android-aarch64
cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build-android-aarch64/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-21 ..
make
make install
Arm32 Android 编译命令如下:
mkdir build-android-armv7
cd build-android-armv7
cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON -DANDROID_PLATFORM=android-19 ..
make
make install
请参考 Tengine Lite ACL GPU 使用说明。
请参考 Tengine Lite Vulkan GPU 使用说明。
下载安装 DevEco Studio,传送门。若没有华为开发者账号,需到HarmonysOS应用开发门户注册。
打开 DevEco Studio,Configure(或File)-> Settings -> Appearance & Behavior -> System Settings -> HarmonyOS SDK,勾选并下载 Native,完成 OHOS NDK 下载。
ohos.toolchain.cmake 这个文件可以从 $OHOS_NDK/build/cmake 找到,例如 E:\soft\Huawei\sdk\native\3.0.0.80\build\cmake\ohos.toolchain.cmake
(可选) 删除debug编译参数,缩小二进制体积,方法和 android ndk相同 android-ndk issue
# 用编辑器打开 $ANDROID_NDK/build/cmake/android.toolchain.cmake
# 删除 "-g" 这行
list(APPEND ANDROID_COMPILER_FLAGS
-g
-DANDROID
git clone -b tengine-lite https://github.com/OAID/Tengine.git Tengine-Lite
Arm64 OHOS 编译脚本如下(Windows)
build/ohos-arm64-v8a.bat
:
@echo off
set OHOS_NDK=E:/soft/Huawei/sdk/native/3.0.0.80
set TOOLCHAIN=%OHOS_NDK%/build/cmake/ohos.toolchain.cmake
set BUILD_DIR=ohos-arm64-v8a
if not exist %BUILD_DIR% md %BUILD_DIR%
cd %BUILD_DIR%
cmake -G Ninja ^
-DCMAKE_TOOLCHAIN_FILE=%TOOLCHAIN% ^
-DOHOS_ARCH="arm64-v8a" ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON ^
../..
::ninja
cmake --build .
cd ..
本文档只是简单指导如何编译对应的 Tengine Lite 版本,有需要可以参考 Tengine-Lite/build.sh
文件。