0

現在のバージョンの mingw/msys (gcc 4.8.1) で wxWidgets2.8.12 をビルドする環境を更新しました。

configure スクリプトを使用して wx-widgets を構築しました。

./configure --prefix=/wx  --with-opengl --enable-debug --enable-debug_gdb --enable-unicode

wxApp::OnExceptionInMainLoop私のアプリケーションは、のサブクラスで使用するいくつかの例外の処理に依存していますwxApp。これは、mingw gcc 3.4.5 と wxWidgets2.8.7 (wxPack で事前にビルド) を使用して正常に動作していました。

新しいビルド wxWidgets ライブラリを使用すると、例外がスローされ、直接キャッチされない場合は常に、プログラムは「Microsoft Visual C++ ランタイム ライブラリ」ウィンドウを表示し、コード 3 で終了します。

wxWidgets 2.8.12 ( wxWidgets-2.8.12\samples\except) で提供される except の例は、同じ問題のある動作を示しています。

さまざまなバージョンの wxWidgets (静的、リリース、モノリシック) を試してみましたが、結果はすべて同じでした。

mingw での基本的なクロス ライブラリ例外のサポートは問題ないようです。この短いテストテストを使用してこれを確認しました

有用なヒントがあれば、または誰かが私の問題を検証できたとしても、非常に感謝しています(インストールで「例外」サンプルをビルドし、選択するだけですThrow unhandled exception

4

1 に答える 1

0

例外が Windows メッセージ ハンドラーから正しく伝達されるようにするには、SJLJ (Dwarf ではなく) バージョンのコンパイラを使用する必要があるため、問題は単に間違ったバージョンを使用しているためだと思います。

于 2013-10-10T19:49:58.953 に答える