在 cygwin 中使用 mingw 编译器编译 C++ 程序时缺少 dll
Missing dll's when compiling c++ programs using mingw compiler in 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.4.0
但是在那里找不到 dll。有没有可能我的电脑上没有这些dll?如果是这样,我从哪里得到它们?
我知道在 Whosebug 上还有其他类似的问题,但是通过查看这些问题我找不到任何关于这个问题变体的可靠答案。
使用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
我在编译时遇到了同样的问题。
我决定重新安装 cygwin,我按照以下说明重新安装 cygwin:
https://gist.github.com/patrickmoffitt/30684ec23fe82eabe0e3609cab2425b2
(在第 6 点)使用包管理器,选择要安装的包....但在我的情况下,我还需要安装:
make
gdb
https://www.jetbrains.com/help/clion/quick-tutorial-on-configuring-clion-on-windows.html#Cygwin
此时,当完成我的新安装时,我在环境变量中添加了这条路线:
C:\cygwin64\usr\x86_64-w64-mingw32\sys-root\mingw\bin
(这条路线是.dll所在的地方)
这对我有用,希望能有所帮助。
另一个解决方案是,复制所有必需的 .dll(形成我提到的路径)并将它们粘贴到 .exe 所在的位置。每次都这样有点烦人。
当我使用 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.4.0
但是在那里找不到 dll。有没有可能我的电脑上没有这些dll?如果是这样,我从哪里得到它们?
我知道在 Whosebug 上还有其他类似的问题,但是通过查看这些问题我找不到任何关于这个问题变体的可靠答案。
使用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
我在编译时遇到了同样的问题。
我决定重新安装 cygwin,我按照以下说明重新安装 cygwin: https://gist.github.com/patrickmoffitt/30684ec23fe82eabe0e3609cab2425b2 (在第 6 点)使用包管理器,选择要安装的包....但在我的情况下,我还需要安装:
make
gdb
https://www.jetbrains.com/help/clion/quick-tutorial-on-configuring-clion-on-windows.html#Cygwin
此时,当完成我的新安装时,我在环境变量中添加了这条路线: C:\cygwin64\usr\x86_64-w64-mingw32\sys-root\mingw\bin (这条路线是.dll所在的地方)
这对我有用,希望能有所帮助。
另一个解决方案是,复制所有必需的 .dll(形成我提到的路径)并将它们粘贴到 .exe 所在的位置。每次都这样有点烦人。