我用 Code::Blocks 在 C++ 中创建了一个简单的程序。
如果我从 Code::Blocks 运行它,它可以正常工作;但是如果我通过双击可执行文件来运行它,则会弹出一个窗口并显示以下消息:
程序无法启动,因为您的计算机中缺少 libgcc_s_dw2-1.dll。 尝试重新安装程序以解决此问题。
那么,问题是什么?我该怎么做才能修复它?
我相信这是一个 MinGW/gcc 编译器问题,而不是 Microsoft Visual Studio 设置。
libgcc_s_dw2-1.dll应该在编译器的 bin 目录中。您可以将此目录添加到 PATH 环境变量中以进行运行时链接,或者您可以通过在编译器标志中添加“-static-libgcc -static-libstdc++”来避免该问题。
libgcc_s_dw2-1.dll
如果您计划分发可执行文件,后者可能最有意义。如果您只打算在自己的机器上运行它,那么更改 PATH 环境变量是一个有吸引力的选择(减小可执行文件的大小)。
更新:
根据 Greg Treleaven 的反馈(见下面的评论),我添加了以下链接:
[代码::Blocks“项目构建选项”的屏幕截图]
[GNU gcc 链接选项]
后面的讨论包括-static-libgcc和-static-libstdc++链接器选项。
-static-libgcc
-static-libstdc++