В настоящее время я использую TGUI (графическую библиотеку на основе SFML) вместе с ECL (поэтому я могу использовать Lisp для конфигурации и скриптов). Он отлично работает на Linux/GCC, но на Windows/MinGW ЭСЛ выдает ошибку:Странное взаимодействие: ECL вызывает ошибки в окнах, когда TGUI пытается создать окно редактирования.
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 - это полностью несвязанные библиотеки, не разделяющие функции или зависящие друг от друга каким-либо образом, о которых я знаю. Кто-нибудь имеет представление о том, что может вызвать такое поведение?
EDIT: Просто сделал полную перекомпиляцию SFML, TGUI и ECL с самой последней версией MinGW, и она по-прежнему разрывается точно так же. Поэтому я решил, что этого достаточно, и я переписал свой проект, чтобы использовать SFGUI. Отныне этот вопрос имеет только академический интерес.