【发布时间】:2020-08-21 14:49:08
【问题描述】:
我一直很舒服地用 G++17 运行 C++ 程序,但有一天,不知为什么,出现了这个错误:
mingw32_gt_pch_use_address 中的内部错误,位于 config/i386/host-mingw32.c:190:MapViewOfFileEx:尝试访问 地址无效。
下面是完整的错误输出:
[Finished in 4.5s with exit code 1]
[cmd: ['g++.exe', '-std=c++17', '-D DIV_DEBUG', 'D:\\Codes\\code.cpp', '-o', 'code.exe', '&&', 'code.exe<inputf.in>outputf.in']]
[dir: D:\Codes]
[path: C:\Python38\Scripts\;C:\Python38\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\MinGW\bin;C:\ProgramData\pbox;C:\Program Files\nodejs\;C:\ProgramData\chocolatey\bin;C:\Program Files\Git\cmd;C:\Users\asus\AppData\Local\Microsoft\WindowsApps;C:\Users\asus\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;C:\tools;C:\Users\asus\AppData\Roaming\npm;C:\Users\asus\AppData\Local\atom\bin]
我已经寻找了三天的解决方案,但还没有找到。它看起来像 MinGW 中的一个错误,但我不知道如何解决这个问题。我的最后一个选择是删除与 MinGW 相关的所有内容并重新安装。任何更好的想法都值得赞赏。
我正在尝试编译的代码。
#include <bits/stdc++.h>
int main() {
std::cout << "Hello, World!\n";
return 0;
}
似乎删除“bits/stdc++.h”头文件会删除此错误。我仍然想知道如何解决这个问题,因为我每天都在我的所有程序中使用这个库。
编辑:我尝试在 Windows Powershell 上构建,但出现了同样的错误。
PS D:\Codes> g++.exe -std=c++17 -D DIV_DEBUG code.cpp -o code.exe
internal error in mingw32_gt_pch_use_address, at config/i386/host-mingw32.c:190: MapViewOfFileEx: Attempt to access invalid address.
更新:尝试重新安装 MinGW。没用。
【问题讨论】:
-
正在编译的代码是什么?
-
更新问题以包含代码。
-
你有你的答案,看来。不要使用那些垃圾包含。
-
@sweenish 在某种程度上,我同意您对包含作为垃圾的评估,但我发现这个问题在不同程序中的许多人都遇到过,因此没有包含。我浏览了配置文件的代码,发现某些地址的检测/分配失败。即使问题现在已经为我解决了,我仍然想知道最初是什么原因造成的。
-
在某种程度上?这是一个垃圾包含。这是一个一切,包括厨房水槽。这意味着它会不必要地膨胀您的可执行文件。这是一个实现细节,即不是标准的一部分。编译器可能支持也可能不支持。很难知道您正在使用哪些库。这是一个垃圾包含。 stackoverflow.com/questions/31816095/…
标签: c++ sublimetext3 mingw