Assimp详述类型指的是typedef

Assimp elaborated type refers to typedef

我在尝试创建一个采用 struct aiMatrix4x4* 或任何其他 aiStructs 的函数时收到上述错误,我不知道为什么,我可以正确地建立我的模型,我只是无法使用上述结构创建一个函数由于某些奇怪的原因作为参数,这是我质疑的代码,我什至可以将它隔离,但它仍然给我错误...

#include <math.h>
#include <assimp/cimport.h>
#include <assimp/scene.h>
#include <assimp/postprocess.h>
#include <assimp/matrix4x4.h>

// A Bit Later in the Code

static inline void mat4x4_loadassimp(mat4x4 M, struct aiMatrix4x4* a);

我正在使用从源代码编译的最新 assimp...使用 C。使用 clang 作为编译器。

根据docaiMatrix4x4 是 C++ 中的 typedef。

所以你不能用C++写struct aiMatrix4x4

static inline void mat4x4_loadassimp(mat4x4 M, aiMatrix4x4 *a);

如果用C编译,必须这样写:

static inline void mat4x4_loadassimp(mat4x4 M, struct aiMatrix4x4 *a);