質問

私が書いたプログラムはSFMLを使用していますが、実行時に失敗します。 libgcc_s_dw2-1.dll 不足している。私はTDM-GCCを使用していますが、コンピューターのどこにでもファイルを見つけることができず、再インストールは役に立たず、シンプルなHello Worldプログラムは正常に動作するため、なぜこのDLLが必要なのかわかりません。

これはどのMingwパッケージにありますか?私はサイトで検索をしましたが、それを見つけることができません。明らかな検索結果を逃したばかりの場合は謝罪しますが、これは非常にイライラします!事前に感謝します、エル。

ちなみにPS私は64ビットのWindows 7にいます

編集:申し訳ありませんが、私はすでに答えを読んでいたことに言及するのを忘れました 別の質問 同じ問題がありますが、私が言ったように、私は自分のコンピューターのどこにでもファイルを見つけることができません。 bin ディレクトリまたはその他。また、通過します -static-libgcc-static-libstdc++ コンパイラやリンカーに私に与えてくれます unrecognized option '-static-libstdc++'. 。私がすでにこれを読んでいることを明確にしていないことを申し訳ありません。ありがとうございました!

役に立ちましたか?

解決

そのファイルは、ドワーフ情報(新しいスタイル、setjump/longjumpまたはsjlj、古いスタイルを使用して例外処理を実装します。

したがって、コードがあらゆる種類の例外に依存している場合にのみ必要です。

運がよければ、このファイルの私自身の編集を取得できます ここ.

他のヒント

これは、Microsoft Visual Studioのセットアップではなく、TDM/GCCコンパイラの問題だと思います。

libgcc_s_dw2-1.dll コンパイラのビンディレクトリにある必要があります。このディレクトリをパス環境変数にランタイムリンクに追加することも、コンパイラフラグに「-static-libgcc -static-libstdc ++」を追加することで問題を回避できます。

実行可能ファイルを配布する予定がある場合、後者はおそらく最も理にかなっています。自分のマシンでのみ実行することを計画している場合、Path環境変数の変更は魅力的なオプションです(実行可能ファイルのサイズを抑えます)。

更新しました:

Greg Treleavenからのフィードバック(以下のコメントを参照)に基づいて、次のリンクを追加します。

コードのスクリーンショット::ブロック「プロジェクトビルドオプション」

GNU GCCリンクオプション

後者の議論には含まれます -static-libgcc-static-libstdc++ リンカーオプション。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top