【问题标题】:libstdc++-6.dll not found when using minGW with VSCode to run simple C++ program使用 minGW 和 VSCode 运行简单的 C++ 程序时找不到 libstdc++-6.dll
【发布时间】:2020-10-03 21:31:15
【问题描述】:

我是第一次在 C++ 中工作,但在编译多个文件时遇到了问题。该问题似乎与编译器无法找到 libstdc++-6.dll 文件有关,即使它存在于与 PATH 链接的 minGW bin 目录中。我正在寻求帮助来确定原因。

我编写了一个基本的 main 函数,它同时具有 cout 和 cin,它可以按预期编译和运行。但是,当我添加一个额外的基本类头文件和一个实现文件以及在带有 main 函数的文件顶部添加 #include "className.h" 时,它的行为很糟糕。当我运行构建任务时,它会构建一个 exe,但不会调用 cout 或 cin。如果我在外部命令提示符下运行 .exe,我会收到以下错误:

我发现了几个 SO 线程,通过将 libstdc++-6.dll 移动到包含 .exe 的目录中解决了这个问题。我从 minGW bin 目录中复制并粘贴了该文件,并且可以正常工作。但是,我希望编译器自己找到这个文件,并且想知道是否有一些明显的原因导致它找不到它。

我有几个同行按照我所做的确切步骤进行操作,他们的系统正在获取这个文件,所以它似乎一定是我的配置错误。我添加的 .h 和 .cpp 文件已经在其他系统上经过全面测试,不是问题。

(我用的是windows 10操作系统的PC,minGW 8.0.0,VSCode 1.49.3,最后两个是今天新装的)

【问题讨论】:

  • 尝试在输入 _ZNSt7_cxx1112 的 SO 上搜索答案...在 SO 上有大量确切的此类问题。
  • 我有这就是我如何找到丢失的 dll 并能够测试添加它是否解决了问题。我在此看到的其他 SO 线程要求用户添加 dll。我想知道是否有一种方法可以运行这些而不每次都将其添加到目录中。
  • 看看@Saralyn 的回答,没错。类似问题中的答案相同。

标签: c++ visual-studio-code mingw


【解决方案1】:

发生这种情况的原因是我安装了另一个软件,该软件也使用了 libstdc++-6.dll 文件。这个软件的文件路径比我的短,所以它被捡起来了。

我解决这个问题的步骤是:

  1. 在文件资源管理器中使用搜索来查找该文件所在的所有位置。
  2. 将其他文件移至路径名较长的位置。

【讨论】:

    【解决方案2】:

    #include <iostream> 更改为 #include <bits/stdc++.h> 这对我有用 我正在使用带有 Mingw 编译器的 VS Code,它修复了 libstdc++-6.dll 错误。

    【讨论】:

    猜你喜欢
    • 2011-09-18
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多