【问题标题】:Missing libgcc_s_dw2-1.dll Error when launching MinGW Compiled exe启动 MinGW 编译的 exe 时缺少 libgcc_s_dw2-1.dll 错误
【发布时间】:2013-01-24 13:07:11
【问题描述】:

我在启动 MinGW 编译的可执行文件时收到一条错误消息。我使用的是 Windows 7 机器。

我的 Windows 路径环境变量中有 MinGW bin 目录(检查并重新检查),并且说 dll 确实存在于该文件夹中。

我知道我可以将 dll 移动到 exe 目录,但不需要将应用程序分发到没有安装 MinGW 且环境变量设置正确的任何地方(我们工作机器上的标准环境)。许多同事使用相同的可执行文件没有问题。我所知道的唯一区别是大多数(可能所有)同事都在使用 Windows XP,而我使用的是 Windows 7。

此外,我无权访问构建服务器来更改编译器标志以静态链接库。

因此,尽管我提到了一些变通方法,但我想深入了解为什么它不适用于当前设置。

任何帮助将不胜感激!

干杯。

【问题讨论】:

  • 在depends.exe 中打开可执行文件是否会提供任何其他信息?例如,并行配置问题或类似问题。
  • depends.exe 是指我目前无法打开的可执行文件吗?
  • depends.exe 是 Microsoft 工具“Dependency Walker”。它列出了所有缺少的 dll 依赖项。

标签: c++ windows-7 mingw


【解决方案1】:

您使用的是哪个版本的 mingw? 4.4.0?

here下载包gcc-core-4.4.0-mingw32-dll.tar.gz
将所需的 dll 从 bin 文件夹复制到您的 mingw bin 文件夹中。

【讨论】:

  • 感谢您的回复。当我说我已经在我的 MinGW/bin 目录中拥有所需的 DLL 或者您是否正在获取其他内容时,我不确定您是否在我的第一篇文章中错过了它。所以我继续 - 在备份现有的 dll 之后(exe 依赖的另一个我忘记在我的 OP 中提及) - 将它替换为我从 MinGW sourceforge 站点下载的那些(对于 GCC 4.5.0 ) 并且它有效,这有点奇怪。任何想法为什么Windows现在可以在简单地将它们替换为我下载的DLL之后找到它们?对我来说毫无意义。
  • 嗯,事情变得有点混乱了。我现在可以启动可执行文件,并且在 MinGW 目录中成功找到了 DLL。但是,我们公司有一个用于自动化测试的框架。当此框架用于启动可执行文件时,它再次失败并出现缺少 DLL 错误。显然,我不希望任何人能够评论框架可能存在问题的原因,但这只是我想添加的一些额外信息。
  • 您是否也将 dll 复制到了框架的path 中?您也可以将其与主要可执行文件放在同一目录中。
猜你喜欢
  • 2011-06-09
  • 2016-01-13
  • 1970-01-01
  • 2015-06-02
  • 2014-04-17
  • 2012-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多