Qt5 を 32 ビット Windows 用の Mingw-w64 プロジェクトのコンパイラで (どういうわけか) クロスコンパイルすることができました。すべてのライブラリが にインストールされました~/i686-w64-mingw32
。
クロスコンパイルしようとしている CMake ベースの Qt プロジェクトがあります。これらの指示に従うことで、プロジェクトをコンパイルすることができました。ここまでは順調ですね。
残念ながら、結果のバイナリを Windows で実行すると、エラーが発生します。
「プロシージャ エントリ ポイント __gxx_personality_sj0 がダイナミック リンク ライブラリ [application_name].exe に見つかりませんでした」
* [application_name] は、メインの実行可能ファイルへのフル パスです。
この種の問題は、異なるバージョンの MinGW でコンパイルされたライブラリが混在していることが原因であると聞いたことがあります。しかし、このマシン上のすべてのもの (すべてのライブラリーと実行可能ファイル) はすべて、同じコンパイラー (i686-w64-mingw32
ツールチェーン) によってコンパイルされています。
また、ファイルの 1 つではなく、アプリケーションの実行可能ファイルからエントリ ポイントが欠落しているというエラーが表示されるのも奇妙.dll
です。
このエラーの原因は何ですか?また、それを修正するにはどうすればよいですか?