【问题标题】:Including a certain header file causes errors from SFML包含某个头文件会导致 SFML 出错
【发布时间】:2020-10-09 01:56:42
【问题描述】:

我正在尝试将带有 SFML 的 ChaiScript 用于我的游戏引擎。所有 SFML 的东西都可以正常工作,直到我在我的游戏对象头文件中包含 chaiscript.hpp。我的 GameObject 头文件看起来有点像这样:

#include <a bunch of standard libraries>
#include "imgui.h"

struct Object {
    std::string name;

    void init();
    void update();
    void render();

    *some template functions*
};

当我尝试在上述文件中包含chaiscript.hpp 时,会出现问题。我从 SFML 的 Rect.inl 文件中得到一个重复错误(准确地说是 8 个):'(': illegal token on right side of '::',然后没有其他错误。当我不包含 chaiscript.hpp 或当我在对象 cpp 文件中包含 chaiscript.hpp 时,它编译得很好。我之前在 SDL 中使用过 ChaiScript 并且从未遇到过这样的问题,那么是 SFML 宏搞砸了一些事情吗?我怎样才能避免这个问题?

【问题讨论】:

    标签: c++ sfml chaiscript


    【解决方案1】:

    听起来 ChaiScript 中的某些东西正在弄乱 SFML 中的某些东西。颠倒包含它们的顺序可能会消除这些错误(在 ChaiScript 之前包含 SFML,反之亦然)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多