Build Assimp library for Android

首先各路教程中有推荐使用 NDK 或者 STANDALONE TOOLCHAIN 编译的,根据我的理解,这两种方式都是可以的,如果能直接使用 NDK 编译成功的话,就没有必要使用 STANDALONE TOOLCHAIN 了。

NDK build assmip library

cmake

cmake -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN} -DCMAKE_SYSTEM_NAME=Android -DCMAKE_ANDROID_NDK=${NDK_PATH} \
-DANDROID_FORCE_ARM_BUILD=TRUE -DANDROID_STL=c++_shared -DANDROID_TOOLCHAIN=clang \
-DANDROID_NATIVE_API_LEVEL=21 -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a \
-DCMAKE_INSTALL_PREFIX=/assimp -DCMAKE_BUILD_TYPE=Release \
-DASSIMP_BUILD_TESTS=OFF -GNinja ..

其中:

NDK_PATH=${ANDROID_HOME}/ndk-bundle/

CMAKE_TOOLCHAIN=${ANDROID_HOME}/ndk-bundle/build/cmake/android.toolchain.cmake

注意其中的 ASSIMP_BUILD_TESTS 一定要设置关闭,否则编译失败,报一个 pthread 的链接错误。

cmake 执行后会有一些 warnning 可以不用解决。

-- Could NOT find rt (missing: RT_LIBRARY)
INFO RT-extension not found. glTF import/export will be built without Open3DGC-compression.

make

然后执行 ninja, 此处遇到问题是 error: unknown type name 'z_crc_t' 直接找到对应的源文件,添加声明即可。

typedef unsigned long z_crc_t;

Use lib

将动态库和头文件加入工程即可使用,记得将 cmake build 目录下的 include/assimp/config.h 拷贝到所用的工程的 include 目录下。

参考

https://wxdut.com/15271715037538.html

CMake

Windows环境下编译Assimp库生成Android可用的.so文件

Android compilation on Windows

Build Assimp library for Android的更多相关文章

  1. Android Library和Android APP、Java Library的区别

    Android Library和Android APP.Java Library的区别 Android Library在目录结构上与Android App相同,它能包含构建APP所需的一切(如源代码. ...

  2. Introduction to Glide, Image Loader Library for Android, recommended by Google

    In the passed Google Developer Summit Thailand, Google introduced us an Image Loader Library for And ...

  3. JSBinding / Plugins & Build Mozjswrap Library

    There are 2 libraries in Plugins: mozjs-31. This is SpiderMonkey library, built from https://github. ...

  4. Windows环境下编译Assimp库生成Android可用的.so或.a文件

    在做项目过程中需要使用Assimp这个3D模型读取库来读取obj格式的模型,因为项目是基于Android平台,采用NDK开发,所以就打算编译Assimp库并生成.so文件.本文使用Assimp-v.5 ...

  5. 谷歌将一些弱小的库从安卓代码移除Google Removes Vulnerable Library from Android

    Google this week released the November 2018 set of security patches for its Android platform, which ...

  6. Build opencv libraries for android arm, x86 ubuntu

    废话不多说. 准备工作: 1. 下载源代码: http://opencv.org/ 编译平台:ubuntu14.04 opencv 2.4.6.1 本人用这样的办法编译了opecv 2.4.9 的没有 ...

  7. Android -- uses-sdk:minSdkVersion 10 cannot be smaller than version L declared in library com.android.support:appcompat-v7:21.0.0-rc1

    这是一个报错,是我在Android Studio上添加完Support-v4和v7包之后爆出的错误,百度了好久也没有百度到.当时我的项目有minSdkVersion 19. 设置版本最小为L的时候也会 ...

  8. 关于Android新建出错:Errors occurred during the build. Errors running builder 'Android Resource M

    新建一个eclipse的工作空间就可以了. fuck~

  9. Android Support Library

    title: Android Support Library tags: Support Library,支持库 grammar_cjkRuby: true --- DATE: 2016-5-13. ...

随机推荐

  1. webpack打包优化之外部扩展externals的实际应用

    目录 前言 externals定义 用法 string array object function regex 实际案例 打包时间 打包之后包的大小 浏览器加载 需要注意 参考 前言 使用vue-cl ...

  2. 杂记:Python 两坑

    近日写代码又遇到两个 Python 的坑,觉得值得记录. 递归传参问题 Python 里传参的实现是 assignment,但由于 Python 里都是对象,除了几个基本类型,assignment 基 ...

  3. app:利用HBuilder打包webpack项目

    1.安装HBuilder 2.将你的项目在HBuilder中打开 3.控制台 打包编译 npm run build 4.新建一个app项目,将项目编译生成的dist文件夹 ,复制到app项目中 5.双 ...

  4. 2018-2019 20165239 Exip MSF基础应用

    实践内容(3.5分) 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.1一个主动攻击实践,如ms08_067; (1分) 1.2 一个针对浏览器的 ...

  5. 打包github上的项目,并在本地使用

    在GitHub上去找工具并把地址克隆下来 在本地创建一个文件夹,文件夹内右击 (建议路径为英文,并保证本机有github的软件: https://jingyan.baidu.com/article/9 ...

  6. Python数据分析-知识宝藏

    0.SQL数据库 1. python基础知识 2. 重点工具掌握:数据解析核心技巧 - Numpy| Pandas| Matplotlib 3. 数据特征分析:分布| 对比| 统计| 帕累托| 正态| ...

  7. C++类第五课:类的使用(三)[个人见解]

    继承既然已经知道了是什么意思了,下面我们来学封装! 什么是封装?我们来举个例子: 1.你不能随意挥霍父母的血汗钱,血汗钱是作为他们的私有财产,而父母因为某些原因会主动给你,你才能用的舒心,否则父母不会 ...

  8. Kiwi Syslog安装笔记

    Kiwi Syslog是一款比较好用日志服务器,采集设备.服务器日志简单又方便,近日试架成功,记录重点部分. 1. 网络设备配置 举例思科: R1#configure t R1(config)#log ...

  9. ORACLE启动报错ORA-03113: end-of-file on communication channel

    使用过程中发现oracle运行很慢(其实应该先关注空间问题),就准备关机重启一下,关不掉就强制关闭,然后启动就报错了. 1.SQL> startup ORACLE instance starte ...

  10. LeetCode 26 Remove Duplicates from Sorted Array [Array/std::distance/std::unique] <c++>

    LeetCode 26 Remove Duplicates from Sorted Array [Array/std::distance/std::unique] <c++> 给出排序好的 ...