当我使用 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 包的内容。
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/