C++ 在哪里可以获取libgcc_s_dw2-1.dll?

C++ 在哪里可以获取libgcc_s_dw2-1.dll?,c++,windows-7,dll,tdm-mingw,C++,Windows 7,Dll,Tdm Mingw,我编写的程序使用SFML,但在运行时失败,因为缺少libgcc_s_dw2-1.dll。我正在使用tdm gcc,在我的计算机上找不到该文件,重新安装没有帮助,一个简单的hello world程序工作正常,所以我不确定它为什么需要这个dll 可以在哪个mingw包中找到此文件?我已经在这个网站上搜索过了,但是找不到。抱歉,如果我刚刚错过了一个明显的搜索结果,但这是令人难以置信的沮丧!先谢谢你,呃 顺便说一下,我现在使用的是64位Windows7 编辑:很抱歉,我忘了提到我已经阅读了关于同一问题的

我编写的程序使用SFML,但在运行时失败,因为缺少
libgcc_s_dw2-1.dll
。我正在使用tdm gcc,在我的计算机上找不到该文件,重新安装没有帮助,一个简单的hello world程序工作正常,所以我不确定它为什么需要这个dll

可以在哪个mingw包中找到此文件?我已经在这个网站上搜索过了,但是找不到。抱歉,如果我刚刚错过了一个明显的搜索结果,但这是令人难以置信的沮丧!先谢谢你,呃

顺便说一下,我现在使用的是64位Windows7


编辑:很抱歉,我忘了提到我已经阅读了关于同一问题的答案,但正如我所说的,我无法在我的计算机上的任何位置,在
bin
目录或其他目录中找到该文件。另外,将
-static libgcc
-static libstdc++
传递给编译器和/或链接器会给我
无法识别的选项'-static libstdc++'
。很抱歉没有澄清我已经读过了。谢谢大家!

我认为这是tdm/gcc编译器的问题,而不是Microsoft Visual Studio的设置

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

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

更新:

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


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

该文件使用DWARF信息实现异常处理(新样式,而不是setjump/longjump或SJLj,旧样式)

因此,只有当代码依赖于任何类型的异常时,才需要它


如果你觉得幸运的话,你可以从中获取我自己对该文件的编译。

我认为链接到其他问题比复制和粘贴更合适,特别是如果编辑是基于未发表的评论,那么就更合适了。无论如何谢谢你,谢谢你!你知道你从哪里得到的
.dll
吗?@Ell-事实上,我自己从源代码中编译了整个MinGW!从Ubuntu框中交叉编译。这是一项棘手的任务,非常有启发性。我一直在考虑写一篇关于它的博客文章,但从来没有足够的决心……哇,这听起来确实很棘手!如果你最终写了一篇关于它的博客文章,一定要通知我,这样我就可以做了!不幸的是,这给了我很大的压力
在动态链接库libstdc++-6.dll中找不到过程入口点\uuuu gxx\u personality\u v0
。这与我从预构建MinGW复制dll时的错误相同。您可以在中找到相同的文件。