Assimp将无法在Code :: Blocks中正确构建 - “TVITEMEXW未在当前范围内声明”

时间:2016-06-01 12:13:22

标签: c++ cmake mingw codeblocks assimp

我目前正在学习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项目文件。

任何帮助都会非常感激,我已经坚持了几天,并且无法弄清楚如何自己解决这个问题。抱歉,如果我没有提供足够/正确的信息,我不完全确定与问题相关的是什么。

1 个答案:

答案 0 :(得分:0)

尝试将TVITEMEXW替换为TVITEMW,将sNew.itemex替换为sNew.item