【发布时间】:2020-10-05 06:47:45
【问题描述】:
我使用 GUI 安装程序在 Windows 7 32 位上进行了 MinGW 的全新安装,并安装了
- ming32-base-bin
- mingw32-gcc-g++-bin
- msys-base-bin
当试图从 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)。该程序运行但不包含来自 C:/MinGw/lib 和 C:/MinGw/Include 的库,我必须手动包含这些库,这不应该发生(我猜)。 我不想做这个粗略的修复,因为我知道随着时间的推移我会遇到一些其他问题。
【问题讨论】:
-
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%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\ System32\WindowsPowerShell\v1.0\;C:\MinGW\bin;"
-
cc1plus.exe 在您的系统中的哪个位置?看起来它也需要在您的 PATH 上。