【发布时间】: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