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

标签 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 上还有其他类似的问题,但浏览它们后我找不到该问题的这种变体的任何可靠答案。

最佳答案

使用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-root/mingw/bin/libstdc++-6.dll

相同 usr/x86_64-w64-mingw32/sys-root/mingw/bin/libgcc_s_seh-1.dll
usr/x86_64-w64-mingw32/sys-root/mingw/bin/libwinpthread-1.dll

关于c++ - 在cygwin中使用mingw编译器编译c++程序时缺少dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41824057/

相关文章:

c++ - 在 C++ 中删除 vector 中的第一个最小数字(并保持顺序)

gcc - 如何在 64 位 RHEL 上编译 32 位应用程序?

C++选择 'wrong'带默认参数的重载方法

macos - 如何在OS X上运行此汇编代码?

c++ - cmake force config=库的发布

c++ - 为什么你不能对 C 中的指针进行按位运算,有没有办法解决这个问题?

c++ - 流行的 (c++) "error: no matching function for call to ... ",虽然有一个踢

c++ - 在 OpenGl 中创建模型类

c# - 挂接到类库的 "OnLoad"

r - 错误 : Maximal number of DLLs reached