Windows 上 Assimp(Open Asset Import Library) 源码的编译 及 Samples 的编译运行

Assimp  为加载多种已知 3D 模型格式提供了一套统一的方式,而且它还是开源跨平台的(Android/iOS 也都有支持)。



可能会遇到的错误及解决方法:


1. error LNK2019: 无法解析的外部符号 _compress,该符号在函数 _wmain 中被引用

这个错误是因为Cmake没有选择正确的 ZLIB 库,可以选择自己本地已有的ZLIB库,也可以通过勾选 CMAKE 自己编译ZLIB库(\contrib\zlib)。(如果要编译 Samples 的话,还需要指定本地的 GLUT 库 和 OPENGL 库)


如下图所示:


Windows 上 Assimp(Open Asset Import Library) 源码的编译 及 Samples 的编译运行

2. error LNK2026 模块对于 SAFESEH 映像是不安全的

这个问题可以通过以下方式解决:Windows 上 Assimp(Open Asset Import Library) 源码的编译 及 Samples 的编译运行

3. 无法打开文件"LIBC.lib"问题解决

解决方法如下图所示:Windows 上 Assimp(Open Asset Import Library) 源码的编译 及 Samples 的编译运行

4.Samples发生RunTime错误

DLL 缺失:

1.编译assimp项目生成 assimp-vc110-mt.dll,存放于 build\code\Debug目录下;

2.除了需要它还需要一个名为 devIL.dll 的动态库。

模型缺失:

Assimp 的测试模型存放在 assimp-3.3.1\test\model 和 assimp-3.3.1\test\models-nonbsd 目录下,在项目的“调试”->“命令参数”填入想要加载的模型,如下所示:

Windows 上 Assimp(Open Asset Import Library) 源码的编译 及 Samples 的编译运行

排除以上错误以后,我们就可以使得 Samples 运行起来了:

 

 

第一个是不带纹理的模型加载:

Windows 上 Assimp(Open Asset Import Library) 源码的编译 及 Samples 的编译运行

第二个是带纹理的模型加载:

Windows 上 Assimp(Open Asset Import Library) 源码的编译 及 Samples 的编译运行




上一篇:android 水平 垂直 滚动


下一篇:如何使用WorkManager执行后台任务(下)