我目前正在学习LearnOpenGL教程,到目前为止,它一直很好,直到我点击了教程的模型加载部分。

LearnOpenGL使用Assimp库处理模型加载,但是我似乎无法使其正确构建(预编译的库对我也不起作用)-它在“Display.cpp”中产生错误:

In function 'unzOpenCurrentFile3':
Line 1177: warning: assignment from incompatible pointer type
In member function 'int AssimpView::CDisplay::AddNodeToDisplayList(....'
Line 179 error: 'TVITEMEXW' was not declared in this scope

在第179行中,错误似乎是失败的主要原因。查看“Display.cpp”文件后,问题出在以下声明中:
TVITEMEXW tvi;

并且TVITEMEXW似乎没有明确声明/包含在文件中,但是包含的 header 是stdio.h,stdlib.h,string.h和“./unzip.h”。经过一番搜索,我发现TVITEMEX是一个Windows结构,以TVITEMEXW作为unicode名称(根据this),但是我对C++ /编译器等还不是很陌生,并且真的不知道该怎么做。 。

我从Assimp 3.2使用CMake和MinGW创建了Code::Blocks项目文件。

任何帮助将不胜感激,我已经坚持了几天,但自己也想不出解决方法。抱歉,如果我没有提供足够的信息/正确的信息,则不能完全确定与该问题相关的确切信息。

最佳答案

尝试用TVITEMEXW替换TVITEMW,也许用sNew.itemex替换sNew.item

10-08 14:07