首页 > 解决方案 > Windows 10 中 g++ 编译器的奇怪错误

问题描述

我向上帝发誓,除了通常的编译和运行 c++ 文件之外,我什么也没做。突然间我的代码拒绝在 VScode 和 gVim 中编译,这是代码和错误消息

#include<bits/stdc++.h>
using namespace std;
using ll = long long;

int main()
{
    cout << "Hello world\n";
}

以及在 VScode 和 gVim 中编译时的错误消息。

C:\WINDOWS\system32\cmd.exe /c (g++ -std=c++14 cses.cpp -o cses -Wl,--stack,268435456)
In file included from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\sstream:813:0,
                 from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\complex:45,
                 from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\ccomplex:39,
                 from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\mingw32\bits\stdc++.h:52,
                 from cses.cpp:1:
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\sstream.tcc:45:38: error: '_alloc' was not declared in this scope
     basic_stringbuf<_CharT, _Traits, _alloc>::
                                      ^~~~~~
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\sstream.tcc:45:44: error: template argument 3 is invalid
     basic_stringbuf<_CharT, _Traits, _alloc>::
                                            ^
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\sstream.tcc:46:15: error: 'int_type' was not declared in this scope
     pbackfail(int_type __c)
               ^~~~~~~~
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\sstream.tcc:47:5: error: expected ';' before '{' token
     {
     ^
shell returned 1

发生了什么事?是我的 gcc 损坏还是因为代码在在线编译器中运行良好?这实际上发生在我刚刚注意到的所有 C++ 文件中

标签: c++gccg++mingw32

解决方案


推荐阅读