我目前正在学习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似乎没有显式声明/包含在文件中,但是包含的头文件是stdio.h,stdlib.h,string.h和“./unzip.h”。经过一番搜索,我发现TVITEMEX是一个Windows结构,TVITEMEXW作为一个unicode名称(根据this),但我对C ++ /编译器等相当新,并且不知道该怎么做做这些信息。
我使用来自Assimp 3.2的CMake和MinGW创建了Code :: Blocks项目文件。
任何帮助都会非常感激,我已经坚持了几天,并且无法弄清楚如何自己解决这个问题。抱歉,如果我没有提供足够/正确的信息,我不完全确定与问题相关的是什么。
答案 0 :(得分:0)
尝试将TVITEMEXW
替换为TVITEMW
,将sNew.itemex
替换为sNew.item
。