0

我正在尝试将 ChaiScript 与 SFML 一起用于我的游戏引擎。所有 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时,或者当我包含chaiscript.hpp在对象 cpp 文件中时,它编译得很好。我之前在 SDL 中使用过 ChaiScript,从来没有遇到过这样的问题,那么它是不是 SFML 宏搞砸了?我怎样才能避免这个问题?

4

1 回答 1

0

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

于 2020-06-19T03:15:52.400 回答