私は現在、ECL と一緒に TGUI (SFML に基づく GUI ライブラリ) を使用しています (構成とスクリプトに 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 は完全に無関係なライブラリであり、関数を共有したり、私が知っている方法で相互に依存したりしていません。誰かがこの動作を引き起こす可能性のある考えを持っていますか?
編集: SFML、TGUI、および ECL を最新バージョンの MinGW で完全に再コンパイルしたところ、まったく同じように壊れます。それで、もう十分だと判断したので、代わりに SFGUI を使用するようにプロジェクトを書き直します。 これからは、この質問は学術的な関心のみに限定されます。