CreateProcess:没有这样的文件或目录

Ins*_*cal 45 c gcc mingw

每当我尝试在其安装目录(E:\MinGW\bin)之外运行GCC时,我都会收到此错误.

所以,让我说我在,E:\code并有一个名为的文件one.c.跑步: gcc one.c -o one.exe会给我这个错误:

gcc: CreateProcess: No such file or directory
Run Code Online (Sandbox Code Playgroud)

唯一的解决方法是导航到其安​​装目录,从那里运行gcc,并指定所有其他路径.我的环境变量Path包含E:\MinGW\bin.

有什么建议来解决这个问题?我正在运行Windows XP SP3.

Her*_*ral 31

根据Code :: Blocks wiki,你需要添加C:\MinGW\libexec\gcc\mingw32\MinGW-Version到你的PATH.无需重新启动,但您需要打开另一个终端才能获得最新PATH设置.

对于MinGW-w64,那是 <mingw install directory>\libexec\gcc\x86_64-w64-mingw32\4.7.0\

  • 不......没有帮助我一点. (5认同)
  • 这也是我的问题.我是64位gcc(mingw64项目).添加<mingw安装目录>\libexec\gcc\x86_64-w64-mingw32\4.7.0 \修复它. (4认同)
  • 这可能没有解决原始海报,但这是我的问题.谢谢! (3认同)
  • 在我的仅命令行 [case](http://stackoverflow.com/a/38745252/603516) 中,问题是通过相反地清理 `PATH` 来解决的。ProcMon 在诊断方面非常有用。 (2认同)
  • 如果有人不知道如何执行此操作,请在 [此处](http://windowsitpro.com/systems-management/how-can-i-add-new-folder-my-system-path)进行说明。 (2认同)

小智 30

由于没有安装C++编译器,我遇到了类似的问题.在我的例子中,我正在为Python扩展编译.cpp文件,但编译器首先被调用为c:\ mingw\bin\gcc.exe.

在内部,gcc.exe会注意到它被要求编译.cpp文件.它会尝试调用g ++.exe并失败并显示相同的错误消息:

gcc.exe:CreateProcess:没有这样的文件或目录

  • 路易斯布鲁诺的答案解决了我的问题.确保安装了正确的编译器.我正在尝试使用gcc.exe编译.cpp文件,而实际上需要g ++.mingw-get install g ++清除了错误. (10认同)

Ped*_*ira 9

我刚遇到这个问题.

在我的情况下,问题是由于下载GCC包时出现问题.mingw-get程序认为它完成了下载,但事实并非如此.

我想升级GCC,所以我使用mingw-get来获得更新的版本.出于某种原因,mingw-get认为特定文件的下载已经完成,但事实并非如此.当它去提取文件时,我猜它发出了一个错误(我甚至懒得看 - 我只是跑了"mingw-get update && mingw-get install mingw32-gcc"并把它留在那里).

为了解决这个问题,我通过"mingw-get remove mingw32-gcc"删除了gcc,并删除了包文件(mingw-get没有完全下载),它位于mingw缓存文件夹中("C:\ MinGW \"在我的系统中使用var\cache\mingw-get\packages,然后再次运行install命令.它下载并安装了GCC缺失的部分(它还没有完全下载gcc-core包).

这解决了我的问题.

有趣的是,mingw-get足够聪明,即使我删除了缓存文件夹中的包文件,也可以继续下载gcc-core,并且还删除了mingw32-gcc包.

我认为更基本的问题是,由于没有安装gcc-core文件,cc1不存在.而gcc使用cc1.我想,当gcc尝试启动cc1时,它使用CreateProcess传递cc1的路径,这不是现有文件的路径.因此错误消息.


Col*_*nic 7

所以这是一个愚蠢的错误消息,因为它不告诉你它找不到什么文件.

使用详细标志再次运行该命令gcc -v以查看gcc的用途.

在我的情况下,它发生了它试图打电话cc1plus.我检查过,我没有.安装了mingw的C++编译器然后我做了.


小智 5

我有完全相同的问题.

重新检查后PATH,我意识到我安装了Mingw(64位)和Cygwin(32位).问题是,无论是MingwCygwing++.

通过停用路径Cygwin,错误消失了.


小智 -1

它特别告诉你在windows中为migwin设置环境变量后需要重新启动。

  • 不正确:在 Windows 7(也许还有 Vista)中,打开一个新的命令提示符就足够了。在 Windows XP 中,注销并重新登录就足够了。无需重新启动。 (48认同)
  • 你不需要这样做。但是,您必须加载新的命令 shell 才能读取您更改的新环境变量。 (2认同)