【问题标题】:Windows 64 MSYS2 MSYS GCC Fatal Error: Cannot execute 'cc1'Windows 64 MSYS2 MSYS GCC 致命错误:无法执行“cc1”
【发布时间】:2022-01-13 21:43:52
【问题描述】:

尝试执行简单的 Hello World 程序时,我不断收到以下错误消息。

gcc: fatal error: cannot execute 'cc1': CreateProcess: No such file or directory
compilation terminated.

我已尝试卸载并重新安装 MSYS2 两次。我认为这可能与我设置的路径有关。我设置了以下路径:

C:\msys64\usr\bin

C:\msys64\mingw64\bin

当我尝试使用 C++ 运行 Hello world 程序时返回了类似的错误:

g++: fatal error: cannot execute 'cc1plus': CreateProcess: No such file or directory
compilation terminated.

【问题讨论】:

  • cc1 通常不在 $PATH 中 - 相反,它存储在编译器知道的内部位置。在 Linux 上,它是 /usr/lib/gcc/x86_64-linux-gnu/8/cc1(其中 8 是版本,您还必须至少替换三元组),如 gcc -print-prog-name=cc1 所见。您应该查看 cc1.exe 的实际位置与编译器认为的位置。
  • Process monitor 可以帮助您追踪 cc1 的预期位置。

标签: c++ c msys2


【解决方案1】:

这是一个 cc1.exe 被多个防病毒程序(包括 Windows Defender)标记的问题。 MSYS2 开发人员已经更新了这个包,许多用户也向微软报告了这个问题。

请更新软件包:

pacman -Syu

不确定是否所有防病毒程序的问题都已解决,但我可以确认是赛门铁克问题。

这里是github上的issue供参考:https://github.com/msys2/MINGW-packages/issues/10295.


【讨论】:

    【解决方案2】:

    已卸载并重新安装。跳过推荐的更新文件步骤:https://www.msys2.org/。这解决了问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-08
      • 1970-01-01
      • 2016-01-02
      • 2016-03-14
      • 2018-08-17
      • 2021-03-21
      • 2018-09-08
      • 1970-01-01
      相关资源
      最近更新 更多