MinGW环境下通过CMake编译Assimp出现LIBS NOT FOUND错误问题咨询
问题解答
不需要逐个安装所有提示缺失的库,日志里的绝大多数提示都是非致命的可选依赖缺失,不会影响Assimp核心库的编译和LearnOpenGL教程的正常使用。
各类提示的具体说明
- ZLIB/minizip相关提示:日志明确输出了
Could not locate ZLIB, compiling zlib from sources,Assimp源码包自带了zlib、minizip的内置源码,找不到系统安装的版本时会自动编译内置版本。你之前只配置了ZLIB_INCLUDE_DIR没有配置ZLIB_LIBRARY才会识别不到系统安装的zlib,这个问题完全可以忽略,内置编译的zlib完全可以正常使用。 - rt库缺失提示:rt是Linux平台特有的实时库,Windows系统本身不存在该库。日志也明确说明仅会关闭glTF格式的Open3DGC压缩功能,核心的glTF导入导出能力不受影响,完全满足教程使用需求。
- DevIL/Qt5缺失提示:这两个依赖仅用于编译Assimp自带的Qt格式模型查看器工具,如果你不需要使用这个工具,完全不需要安装,日志也明确说明只是禁用
assimp_qt_viewer的构建,不会影响核心库的编译。 - 所有CMake Deprecation Warning(弃用警告):都是因为Assimp v4.1.0发布时间较早,和你使用的CMake v3.19.2存在版本兼容差异,这类警告不会影响编译结果,可以直接忽略。
后续操作建议
你现在日志最后已经输出了Configuring done,说明配置阶段已经全部完成,没有致命错误:
- 直接在CMake-GUI中点击
Generate按钮生成MinGW对应的Makefile文件 - 打开MinGW终端进入编译输出目录,执行
mingw32-make命令即可完成编译 - 编译完成后生成的
libassimp.dll、静态库文件和头文件,完全可以满足LearnOpenGL教程的使用需求
如果想要消除ZLIB相关的提示,你可以在CMake-GUI的配置项中找到ZLIB_LIBRARY,选中你安装的zlib对应的静态库文件(比如libzlib.a),重新点击Configure即可识别到系统安装的zlib,这个操作不是必须的。
内容的提问来源于stack exchange,提问作者chunsheng12
相关产品推荐
相关产品推荐

