Assimp和SDL2之间的int类型的模糊符号

时间:2014-08-28 14:59:49

标签: c sdl sdl-2 assimp

我正在开发一个小型3D引擎,使用SDL2管理窗口,并使用Assimp加载模型。

当我编译我的程序时,由于我实现了Assimp,我有一个"不明确的符号"以下整数类型出错,链接到sdl_stdinc.hassimp/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来解决我的问题问题

1 个答案:

答案 0 :(得分:0)

您可以包含cstdint并将std :: type用于每个不明确的声明:

#include <cstdint.h>

std::int8_t