c++ - Assimp 无法在 Code::Blocks 中正确构建 - "TVITEMEXW not declared in current scope"

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

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

任何帮助将不胜感激,我已经坚持了几天,现在无法弄清楚如何解决它。抱歉,如果我没有提供足够/正确的信息,我不能完全确定与问题相关的确切内容。

最佳答案

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

关于c++ - Assimp 无法在 Code::Blocks 中正确构建 - "TVITEMEXW not declared in current scope",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37568334/

相关文章:

c++ - 如何使用环境变量添加现有项目?

c++ - 不同平台的 QT 应用程序中的类型是否具有相似的大小?

c++ - 从不同线程写入文件的正确方法(使用 Qt c++)

c++ - 如何配置 CMakeLists.txt 以安装共享库的公共(public) header ?

gcc - llvm/clang 构建后还需要 MinGW gcc 吗?

c++ - 为什么我的 32 位 Fortran/C DLL 不能在 MSYS2 中编译?

c++ - Visual Studio 代码 "undefined reference to ` WinMain@1 6'"

c++ - 为什么会有注入(inject)的类名?

linux - 对 `pthread_create' CLion 的 undefined reference

c++ - CMake 在 macOS High Sierra 上找不到 wxWidgets 库