libgcc_s_dw2-1.dll が見つからないため、プログラムを起動できません 質問する

libgcc_s_dw2-1.dll が見つからないため、プログラムを起動できません 質問する

Code::Blocks を使用して C++ で簡単なプログラムを作成しました。

Code::Blocks から実行すると正常に動作しますが、実行可能ファイルをダブルクリックして実行すると、次のメッセージを含むウィンドウがポップアップ表示されます。

libgcc_s_dw2-1.dll がコンピューターにないため、プログラムを起動できません。
この問題を解決するには、プログラムを再インストールしてください。

それで、問題は何でしょうか? それを解決するには何をしなければなりませんか?

ベストアンサー1

これは Microsoft Visual Studio のセットアップの問題ではなく、MinGW/gcc コンパイラの問題であると思われます。

libgcc_s_dw2-1.dllコンパイラの bin ディレクトリにあるはずです。このディレクトリをランタイム リンク用の PATH 環境変数に追加するか、次を追加することで問題を回避できます。

-static -static-libgcc -static-libstdc++

コンパイラとリンカーのフラグに追加します。

実行可能ファイルを配布する予定の場合は、後者のほうがおそらく最も合理的です。自分のマシンでのみ実行する予定の場合は、PATH 環境変数を変更するのが魅力的なオプションです (実行可能ファイルのサイズを小さく抑えられます)。

更新しました:

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

[Code::Blocks「プロジェクトビルドオプション」のスクリーンショット]

[GNU gcc リンク オプション]

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

おすすめ記事