私はlibgcc_s_sjlj-1.dll
に依存するサードパーティライブラリを持っています。 自分のプログラムはMSYS2(mingw-w64)でコンパイルされており、libgcc_s_dw2-1.dll
に依存しています。Windows上のコンパイラ+ libgccの異なるバージョンが発生しました
サードパーティのライブラリは純粋なバイナリ(ソースなし)です。また、libgcc_s_sjlj-1.dll
とlibgcc_s_dw2-1.dll
は両方とも32ビットなので、アーキテクチャに関連する問題ではないと思います。
結果は明らかです。libgcc_s_dw2-1.dll
に基づいてコンパイルされたプログラムは、libgcc_s_sjlj-1.dll
に基づくサードパーティライブラリでは動作しません。私が得るのは、見つからないエントリポイント__gxx_personality_sj0
です。
ツールチェインを第三者のlibgcc_s_sjlj-1.dll
に合わせることは間違いありませんが、どのような努力が必要かわかりません。このsetjmp/longjmpバージョンを使用して、MSYS2の下でlibgcc dllのそのような亜種は見つかりませんでした。 MSYS2の下にあったすべてのバイナリがこのlibgcc_s_dw2-1.dll
モジュールの上に置かれているので、私はツールチェーン全体をなくす必要があることを恐れています。
私の目標は簡単です:libgcc_s_dw2-1.dll
の代わりにlibgcc_s_sjlj-1.dll
の上に自分のコードがあるように解決策を探したいと思います。しかし、単に愚かな質問をしているのかどうかは分かりません。