[英]Missing dll's when compiling c++ programs using mingw compiler in cygwin
当我使用 mingw 编译器在 cygwin 中编译我的 c++ 程序时,生成的可执行文件无法运行,因为它们缺少以下 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-根/的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
我在编译时遇到了同样的问题。
我决定重新安装 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 所在的位置。 每次都这样做有点烦。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.