MinGW:构建 C++ 程序时出现内部错误
MinGW: Internal error when building a C++ program
我曾经 运行 使用 G++17 编写 C++ 程序非常自如,但有一天无缘无故出现此错误:
internal error in mingw32_gt_pch_use_address, at
config/i386/host-mingw32.c:190: MapViewOfFileEx: Attempt to access
invalid address.
下面是完整的错误输出:
[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。没用。
好的,所以这个问题就像它出现的那样奇迹般地发生了。我在重新安装 MinGW 后预编译了头文件,出于某种原因,它解决了这个问题。我不确定此操作是否触发了修复。
如果有人能对这种奇怪的行为有所了解,我会将该答案标记为已接受。
我曾经 运行 使用 G++17 编写 C++ 程序非常自如,但有一天无缘无故出现此错误:
internal error in mingw32_gt_pch_use_address, at config/i386/host-mingw32.c:190: MapViewOfFileEx: Attempt to access invalid address.
下面是完整的错误输出:
[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。没用。
好的,所以这个问题就像它出现的那样奇迹般地发生了。我在重新安装 MinGW 后预编译了头文件,出于某种原因,它解决了这个问题。我不确定此操作是否触发了修复。
如果有人能对这种奇怪的行为有所了解,我会将该答案标记为已接受。