1. ホーム
  2. c++

[解決済み] libgcc_s_dw2-1.dllが見つからないため、プログラムを開始できない

2022-03-06 07:13:50

質問

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

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

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

で、何が問題なんだ?どうすれば直るのでしょうか?

解決方法は?

Microsoft Visual Studioの設定というより、MinGW/gccコンパイラの問題だと思います。

libgcc_s_dw2-1.dll は、コンパイラのbinディレクトリにあるはずです。 実行時にリンクするために、このディレクトリをPATH環境変数に追加するか、コンパイラのフラグに "-static-libgcc -static-libstdc++" を追加すれば、この問題を避けることができます。

実行ファイルを配布する予定があるなら、おそらく後者が最も理にかなっています。 自分のマシンだけで実行するつもりなら、PATH環境変数の変更は魅力的なオプションです(実行ファイルのサイズを小さくすることができます)。

更新しました。

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

[Code::Blocks "プロジェクトビルドオプションのスクリーンショット"] を参照してください。

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

後者の議論には -static-libgcc-static-libstdc++ リンカーオプションを指定します。