交叉编译OpenBlas android版,Success
我是在在Mac本上编译OpenBlas android版,arm32和arm64版,由于官方编译指南
实在有点问题,好多人编译不过(我也经过了各种编译链接错误),这里记录下,首先需要自行安装Android NDK, 然后见下
arm32
export CLANG_FLAGS="-target arm-linux-androideabi -marm -mfpu=vfp -mfloat-abi=softfp --sysroot /Users/xxx/toolchain/arm-linux-androideabi/sysroot -gcc-toolchain /Users/xxx/toolchain/arm-linux-androideabi"
make TARGET=ARMV7 ONLY_CBLAS=1 AR=arm-linux-androideabi-ar CC="arm-linux-androideabi-clang ${CLANG_FLAGS}" HOSTCC=gcc ARM_SOFTFP_ABI=1 USE_THREAD=0 NUM_THREADS=32 -j4
arm64
export CLANG_FLAGS="-target aarch64-linux-android --sysroot /Users/xxx/toolchain/aarch64-linux-android/sysroot -gcc-toolchain /Users/xxx/toolchain/aarch64-linux-android -lm"
make TARGET=ARMV8 ONLY_CBLAS=1 AR=aarch64-linux-android-ar CC="aarch64-linux-android-clang ${CLANG_FLAGS}" HOSTCC=gcc USE_THREAD=0 NUM_THREADS=32 -j4
两步即可!
注:
“/Users/xxx/toolchain/aarch64-linux-android” 和 “/Users/xxx/toolchain/arm-linux-androideabi” 分别是Android NDK编译出来的arm64和arm32的独立工具链。
这里选的是clang编译器,你也可以用gcc/g++。
对版本是V0.3.2 dev版。