首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >缺少libgcc_s_seh-1.dll在Windows上启动.exe

缺少libgcc_s_seh-1.dll在Windows上启动.exe
EN

Stack Overflow用户
提问于 2022-06-03 16:13:35
回答 2查看 1.1K关注 0票数 0

简介

我有一个基于CMake的C++项目。直到现在,我通过CLion构建并运行了这个项目。在我尝试直接运行..exe文件(不是通过CLion)之前,一切都很好。

问题

当我导航到cmake目录以便通过可执行文件启动我的程序时,弹出窗口中的以下消息失败:无法继续代码执行,因为找不到libgcc_s so-1.dll。重新安装程序可能会解决问题。

我有以下问题

  • 如果我正确地解释了错误消息,那么我的计算机上就丢失了这个dll。所以我问自己,当我通过开发环境(CLion)启动它时,为什么我的程序仍然工作,尽管错误消息明确声明源代码需要这个dll?
  • 错误出现是我的应用程序/源代码的错误还是我的计算机的当前状态?如果是前者,如何防止其他用户出现此错误?
  • 修复此错误的最佳方法是什么?很明显,我需要下载这个dll,但是放置它的最佳位置是哪里(在窗口上使用哪个目录和环境变量)?
  • 下载这个dll的可靠来源是什么?我不想下载这个dll名称下的任何恶意软件。
  • 可选的:那是什么样的图书馆?它提供了哪些功能?

更多信息

我使用CMake作为我的构建工具,CLion作为IDE,MinGW作为编译器。

到目前为止我做了什么?

  • 我确保它仍然在IDE中工作。
  • 我发现MinGW安装文件夹中不存在这个dll。
  • 我在网上搜索更多的信息。不幸的是,只有我不知道的页面才能提供这个dll的下载。我不满意。
EN

Stack Overflow用户

发布于 2022-06-03 17:55:47

当使用SEH作为异常模型时,此文件是MinGW-w64的一部分(相对于Dwarf或SJLJ)。您需要在与.dll文件相同的文件夹中分发.exe文件所依赖的.exe文件。

如果您没有该文件,那么您可能一直在使用使用GCC/MinGW(-w64)不同版本编译的库。我建议使用相同的编译器构建所有东西,以确保稳定的二进制文件。

依赖沃克这样的工具可以帮助您了解.exe文件所依赖的.dll文件。

或者使用命令行工具copypedeps -rhttps://github.com/brechtsanders/pedeps复制.exe文件及其依赖项。

票数 -1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72492416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档