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 的编译运行_第1张图片

 

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

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

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

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

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 的编译运行_第4张图片
 
 
排除以上错误以后,我们就可以使得 Samples 运行起来了:
 
 
第一个是不带纹理的模型加载:
 
Windows 上 Assimp(Open Asset Import Library) 源码的编译 及 Samples 的编译运行_第5张图片
 
第二个是带纹理的模型加载:
 
Windows 上 Assimp(Open Asset Import Library) 源码的编译 及 Samples 的编译运行_第6张图片
 
 

你可能感兴趣的:(OpenGL)