编译 Tengine Lite 依赖 git, g++, cmake, make
等以下基本工具,如果没有安装,
-
Ubuntu18.04 系统命令如下:
sudo apt-get install cmake make g++ git
-
Fedora28 系统命令如下:
sudo dnf install cmake make g++ git
git clone 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 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
Arm64 Linux 交叉编译
cd Tengine-Lite
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/aarch64-linux-gnu.toolchain.cmake ..
make
make install
Arm32 Linux 交叉编译
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
目录中。
下载 Android NDK http://developer.android.com/ndk/downloads/index.html 并安装,例如:
unzip android-ndk-r21d-linux-x86_64.zip
export ANDROID_NDK=<your-ndk-root-path>
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 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/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 使用说明。
请参考 Tengine Lite CUDA GPU 使用说明。
请参考 Tengine Lite TensorRT GPU 使用说明。
请参考 Tengine Lite VeriSilicon NPU 使用说明。
下载安装 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 https://github.com/OAID/Tengine.git tengine-lite
Arm64 OHOS 编译脚本如下(Windows)
build/ohos-arm64-v8a.bat
:
@ECHO OFF
@SETLOCAL
:: Set OHOS native toolchain root
@SET OHOS_NDK=<your-ndk-root_path, such as D:/Program/DevEcoStudio/SDK/native/2.0.1.93>
:: Set ninja.exe and cmake.exe
@SET NINJA_EXE=%OHOS_NDK%/build-tools/cmake/bin/ninja.exe
@SET CMAKE_EXE=%OHOS_NDK%/build-tools/cmake/bin/cmake.exe
@SET PATH=%OHOS_NDK%/llvm/bin;%OHOS_NDK%/build-tools/cmake/bin;%PATH%
mkdir build-ohos-armeabi-v7a
pushd build-ohos-armeabi-v7a
%CMAKE_EXE% -G Ninja -DCMAKE_TOOLCHAIN_FILE="%OHOS_NDK%/build/cmake/ohos.toolchain.cmake" -DCMAKE_MAKE_PROGRAM=%NINJA_EXE% -DOHOS_ARCH="armeabi-v7a" -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON ..
%CMAKE_EXE% --build . --parallel %NUMBER_OF_PROCESSORS%
%CMAKE_EXE% --build . --target install
popd
mkdir build-ohos-arm64-v8a
pushd build-ohos-arm64-v8a
%CMAKE_EXE% -G Ninja -DCMAKE_TOOLCHAIN_FILE="%OHOS_NDK%/build/cmake/ohos.toolchain.cmake" -DCMAKE_MAKE_PROGRAM=%NINJA_EXE% -DOHOS_ARCH="arm64-v8a" -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON ..
%CMAKE_EXE% --build . --parallel %NUMBER_OF_PROCESSORS%
%CMAKE_EXE% --build . --target install
popd
@ENDLOCAL
请参考 Visual Studio 使用说明。