gpt4 book ai didi

c++ - Assimp 样本给出错误

转载 作者:行者123 更新时间:2023-11-28 03:18:46 26 4
gpt4 key购买 nike

我刚拿到最后一个assimp SDK,做了一个项目,我正确地链接了它(链接没有错误)但是我似乎在Sample项目上遇到了一些麻烦。更具体地说,是 SimpleOpenGL。我将 C++ 与 OpenGL 和 visual studio 10 结合使用。

struct aiVector3D scene_min, scene_max, scene_center;

上面的行会产生以下错误。

1>main.cpp(25): error C2371: 'aiVector3D' : redefinition; different basic types
1>d:\libraries\assimp--3.0.1270-sdk\include\assimp\vector3.h(124) : see declaration of 'aiVector3D'
1>main.cpp(25): error C2079: 'scene_min' uses undefined struct 'aiVector3D'
1>main.cpp(25): error C2079: 'scene_max' uses undefined struct 'aiVector3D'
1>main.cpp(25): error C2079: 'scene_center' uses undefined struct 'aiVector3D'

还有更多的错误,但如果在我解决这个错误后仍然出现,我会发布它们。

根据评论进行编辑

看起来很有效!谢谢。但是您能解释一下为什么 struct 这个词不会影响 C 语言的程序吗?

最佳答案

你必须删除 struct 这个词根据您的定义,因为 aiVector3D声明不同 in the header file .

在链接的头文件中,您会看到 #ifdef __cplusplus 行预处理器使用它进行条件编译。这意味着一切直到下一个 #else如果使用 C++ 编译器,将被编译到目标文件中。这段代码告诉我们 aiVector3D 是 aiVector3t<float> 的类型定义(= 其他名称) .

如果你使用普通的 C 编译器,aiVector3D 的声明是

struct aiVector3D {
float x,y,z;
}

这符合您的定义。

关于c++ - Assimp 样本给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16066881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com