C++ 尝试使用MinGW编译时出错:无法执行cc1plus

C++ 尝试使用MinGW编译时出错:无法执行cc1plus,c++,g++,mingw,C++,G++,Mingw,我使用GUI安装程序在Windows7 32位上干净地安装了MinGW,并安装了 明32基地仓 mingw32-gcc-g++-bin msys基仓 当试图从cmd.exe编译一个简单的“Hello World.cpp”时,我得到一个错误: C:\Users\Lorenzo\Desktop>g++“Hello World.cpp”-o“Hello World.exe”-m32 g++:致命错误:无法执行“cc1plus”:CreateProcess:没有此类文件或目录。 编译终止 奇怪的是,

我使用GUI安装程序在Windows7 32位上干净地安装了MinGW,并安装了

  • 明32基地仓
  • mingw32-gcc-g++-bin
  • msys基仓
当试图从cmd.exe编译一个简单的“Hello World.cpp”时,我得到一个错误:

C:\Users\Lorenzo\Desktop>g++“Hello World.cpp”-o“Hello World.exe”-m32 g++:致命错误:无法执行“cc1plus”:CreateProcess:没有此类文件或目录。 编译终止

奇怪的是,通过从桌面抓取文件并将其放在MinGW目录中的g++.exe(这样我就可以用应用程序打开文件)上,我没有得到任何错误

我找到的一个临时修复方法是在cc1plus所在的文件夹(C:\MinGW\libexec\gcc\mingw32\9.2.0)中有一个新的Environment变量。程序运行,但不包括C:/MinGw/lib和C:/MinGw/include中的库,我必须手动包括这些库,这应该不会发生(我猜)。
我不想做这个粗糙的修复,因为我知道随着时间的推移,我会遇到一些其他问题。

好的。我幸运地找到了解决办法

这就像将.exe添加到g一样简单++


我不知道这是不是一个bug,但这对我来说很有效。

我不确定你到底用了哪个MinGW,但最好用MinGW-w64。
有一个独立的构建,您可以从中获得,不需要安装。该网站还提供了一些使用说明。

CreateProcess不是glibc功能。这是Windows API(存在于Windows.h和Kernel32.dll中)。所以g++**是无效的。请使用Win32 C编译器或将CreateProcess替换为exec()func。这听起来像是环境变量的问题。你的
%PATH%
看起来像什么?@SamuelD.Muprhy对不起,我真的不明白你在说什么。我必须从其他终端运行命令吗?运行不同的编译器?很抱歉,我对这一点很陌生。@Botje路径:“C:\Program Files\Common Files\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%\system32\Wbem;%SystemRoot%\system32\WindowsPowerShell\v1.0\;C:\MinGW\bin;”以及您的系统上哪里有cc1plus.exe?它看起来也需要在您的路径上。为什么使用MinGW-w64更好?@L_或_Enzo它更为最新(支持最新Windows版本的API),并且支持32位和64位Windows。此外,我建议避免在路径和文件名中使用空格。
> g++.exe *input file* -o*output.exe*