在cygwin中使用mingw编译器编译c ++程序时缺少dll

时间:2017-01-24 09:06:27

标签: c++ gcc dll cygwin

当我使用mingw编译器在cygwin中编译我的c ++程序时,生成的可执行文件不会运行,因为它们缺少以下dll:

  • 的libstdc ++ - 6.dll
  • libgcc_s_seh-1.DLL
  • libwinpthread-1.DLL

编译命令的示例:

$ x86_64-w64-mingw32-g++ -Wall deque.cc -o deque

我也尝试过添加以下链接器选项:

-static -static-libgcc -static-libstdc++

但他们似乎也没有帮助。

我通过以下方式查看了我的dll:

C:\cygwin\lib\gcc\x86_64-w64-mingw32\5.4.0

但是找不到那里的dll。我有可能在我的电脑上没有这些dll吗?如果是这样,我会在哪里得到它们?

我理解stackoverflow上还有其他类似的问题,但通过它们我找不到这个问题变体的任何可靠答案。

1 个答案:

答案 0 :(得分:3)

使用https://cygwin.com/packages/搜索cygwin软件包的内容。

据报道 https://cygwin.com/cgi-bin2/package-cat.cgi?file=x86_64%2Fmingw64-x86_64-gcc-g%2B%2B%2Fmingw64-x86_64-gcc-g%2B%2B-5.4.0-3&grep=libstdc%2B%2B-6.dll

USR / x86_64的-W64-的mingw32 / SYS-根/的mingw / bin中/的libstdc ++ - 6.dll
相同的 USR / x86_64的-W64-的mingw32 / SYS-根/的mingw / bin中/ libgcc_s_seh-1.DLL
USR / x86_64的-W64-的mingw32 / SYS-根/的mingw / bin中/ libwinpthread-1.DLL