我正在开发一个小型3D引擎,使用SDL2管理窗口,并使用Assimp加载模型。
当我编译我的程序时,由于我实现了Assimp,我有一个"不明确的符号"以下整数类型出错,链接到sdl_stdinc.h
和assimp/metadata.h
assimp/metadata.h
:
int64_t
sdl_stdinc.h
:
int8_t
int16_t
int32_t
int64_t
uint8_t
uint16_t
uint32_t
uint64_t
根据我的理解,这是一个兼容性问题:Assimp和SDL2都试图重新定义这些类型,但在同一名称空间中,所以编译器不知道在两者之间选择哪一个。 / p>
这两个库不包含在相同的文件中...... 这样的事情会对该错误产生影响吗?
并且我该如何解决?我在网上找不到任何解决方案,我感觉不得不改变,例如SDL2到GLFW来解决我的问题问题
答案 0 :(得分:0)
您可以包含cstdint并将std :: type用于每个不明确的声明:
#include <cstdint.h>
std::int8_t