Assimp 裁剪编译 Android 库

6 篇文章 0 订阅
2 篇文章 0 订阅

通过编译配置选项裁剪编译,只编自己需要的部分,如本文:Exporter 全不需要,Importer 只编进来 Obj 和 FBX 格式。

配置选项说明:

  • -DBUILD_SHARED_LIBS=OFF 关掉动态库,即编译静态库
  • -DASSIMP_NO_EXPORT=ON 关闭所有的 Exporter(不需要导出模型)
  • -DASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT=FALSE 关闭编译所有的默认 Importer,即不全部编译
  • -DASSIMP_BUILD_OBJ_IMPORTER=TRUE 编译 Obj 格式的 Importer
  • -DASSIMP_BUILD_FBX_IMPORTER=TRUE 编译 FBX 格式的 Importer

编译截图:
在这里插入图片描述在这里插入图片描述
编译脚本如下:

#!/bin/sh

MY_NDK="/Users/AlanWang4523/AndroidDev/android-ndk-r16b"
MY_SDK="/Users/AlanWang4523/AndroidDev/sdk"
MY_CMAKE="${MY_SDK}/cmake/3.10.2.4988404/bin/cmake"

OUTPUT_LIBS="./build/libs/android"

function build_with_armeabi() {
	ARME_ABI=$1
	API_LEVEL=$2
	PLATFORM="android-${API_LEVEL}"
	echo ${ARME_ABI}
	echo ${PLATFORM}

	BUILD_DIR="./build/android/${ARME_ABI}"
	PRE_EXE_DIR=$(pwd)
	echo ${PRE_EXE_DIR}

	# 使用 android 工具链生成 makefile
	${MY_CMAKE} \
	-H"./" \
	-B"${BUILD_DIR}" \
	-DBUILD_SHARED_LIBS=OFF \
	-DASSIMP_BUILD_ASSIMP_TOOLS=OFF \
	-DASSIMP_BUILD_TESTS=OFF \
	-DASSIMP_INSTALL=OFF \
	-DASSIMP_INJECT_DEBUG_POSTFIX=OFF \
	-DASSIMP_NO_EXPORT=ON \
	-DASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT=FALSE \
	-DASSIMP_BUILD_OBJ_IMPORTER=TRUE \
	-DASSIMP_BUILD_FBX_IMPORTER=TRUE \
	-DANDROID_ABI="${ARME_ABI}" \
	-DANDROID_NDK="${MY_NDK}" \
	-DCMAKE_BUILD_TYPE="Release" \
	-DCMAKE_LIBRARY_OUTPUT_DIRECTORY="./build/android/libs/${ARME_ABI}" \
	-DCMAKE_BUILD_TYPE="Release" \
	-DCMAKE_TOOLCHAIN_FILE="${MY_NDK}/build/cmake/android.toolchain.cmake" \
	-DANDROID_PLATFORM=${PLATFORM} \
	-DANDROID_TOOLCHAIN="clang" \
	-DCMAKE_C_FLAGS="-fpic -fexceptions -frtti" \
	-DCMAKE_CXX_FLAGS="-fpic -fexceptions -frtti" \
	-DANDROID_STL="c++_static" \

	# 生成目标文件
	cd ${BUILD_DIR}
	make

	# 将目标文件移至指定目录
	cd ${PRE_EXE_DIR}
	mkdir -p ${OUTPUT_LIBS}/${ARME_ABI}/
	cp ${BUILD_DIR}/lib/* ${OUTPUT_LIBS}/${ARME_ABI}/
	rm -r ./build/android
}

build_with_armeabi armeabi-v7a 16
build_with_armeabi arm64-v8a 21
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值