小编典典

程序无法启动,因为缺少 libgcc_s_dw2-1.dll

all

我用 Code::Blocks 在 C++ 中创建了一个简单的程序。

如果我从 Code::Blocks 运行它,它可以正常工作;但是如果我通过双击可执行文件来运行它,则会弹出一个窗口并显示以下消息:

程序无法启动,因为您的计算机中缺少 libgcc_s_dw2-1.dll。
尝试重新安装程序以解决此问题。

那么,问题是什么?我该怎么做才能修复它?


阅读 139

收藏
2022-08-05

共1个答案

小编典典

我相信这是一个 MinGW/gcc 编译器问题,而不是 Microsoft Visual Studio 设置。

libgcc_s_dw2-1.dll应该在编译器的 bin 目录中。您可以将此目录添加到 PATH
环境变量中以进行运行时链接,或者您可以通过在编译器标志中添加“-static-libgcc -static-libstdc++”来避免该问题。

如果您计划分发可执行文件,后者可能最有意义。如果您只打算在自己的机器上运行它,那么更改 PATH 环境变量是一个有吸引力的选择(减小可执行文件的大小)。

更新:

根据 Greg Treleaven 的反馈(见下面的评论),我添加了以下链接:

[代码::Blocks“项目构建选项”的屏幕截图]

[GNU gcc 链接选项]

后面的讨论包括-static-libgcc-static-libstdc++链接器选项。

2022-08-05