我目前正在使用 TGUI(基于 SFML 的 GUI 库)和 ECL(所以我可以使用 Lisp 进行配置和脚本)。它在 Linux/gcc 上运行良好,但在 Windows/MinGW ECL 上会抛出错误:
Condition of type: FLOATING-POINT-INVALID-OPERATION
#<a FLOATING-POINT-INVALID-OPERATION>
Available restarts:
1. (CONTINUE) Ignore signal
Top level in: #<process TOP-LEVEL>.
>
抛出错误的代码点(创建它的最小代码)是:
empty_panel = tgui::Panel::Ptr(*cur_gui, "empty_panel");
empty_panel->setSize(cfg.res.x, cfg.res.y);
empty_panel->setBackgroundColor(sf::Color::Transparent);
tgui::EditBox::Ptr txt_test(*empty_panel, "txt_test");
请注意,我可以很好地创建标签、按钮、复选框等 - 但是一旦我尝试制作编辑框,ECL 就会抱怨。这对我来说没有任何意义。TGUI 和 ECL 是完全不相关的库,不共享功能或以我所知道的任何方式相互依赖。有谁知道可能导致这种行为的原因?
编辑:刚刚使用最新版本的 MinGW 对 SFML、TGUI 和 ECL 进行了完整的重新编译,它仍然以完全相同的方式中断。所以我决定已经足够了,我将重写我的项目以使用 SFGUI。 从现在开始,这个问题只具有学术意义。