【问题标题】:MinGW cc1plus.exe fatal error (file exists)MinGW cc1plus.exe 致命错误(文件存在)
【发布时间】:2018-11-28 08:12:57
【问题描述】:

我最近在我的机器上安装了一个新的 SSD,当我全新安装 Windows 时,我得到了 Visual Studio Code,并且即将启动并运行 c++ 扩展,所以我得到了 MinGW,并尝试安装GCC 和 G++ 编译器...低头看,在尝试了很多解决方案之后,它仍然无法在此计算机映像上正常工作。

当我正确安装 MinGW 后尝试测试编译器时,输出如下:

gcc.exe -Wp,-v -E -xc -dD -x c++ nul
ignoring nonexistent directory 
"c:\mingw\bin\../lib/gcc/mingw32/6.3.0/../../../../mingw32/include"
ignoring duplicate directory 
"c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include/c++"
ignoring duplicate directory 
"c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include/c++/mingw32"
ignoring duplicate directory 
"c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include/c++/backward"
ignoring duplicate directory 
"c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include"
ignoring duplicate directory 
"/mingw/lib/gcc/mingw32/6.3.0/../../../../include"
ignoring duplicate directory "c:/mingw/lib/gcc/../../include"
ignoring duplicate directory 
"c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include-fixed"
ignoring nonexistent directory 
"c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/../../../../mingw32/include"
ignoring duplicate directory "/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/include/c++
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/include/c++/mingw32
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/include/c++/backward
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/include
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/../../../../include
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/include-fixed
End of search list.
cc1plus.exe: fatal error: nul: No such file or directory
compilation terminated.

Error: 1

奇怪的是 cc1plus.exe 在 MinGW 目录中,后来我什至将它添加到包含路径中以查看是否有帮助,但仍然没有。我不太确定如何继续。

这个错误已经成为我上周存在的祸根。如果有人有任何想法,我将非常感谢您的帮助。过去我在 MinGW 上取得了成功,但由于某种原因,这一次给我带来了问题。

【问题讨论】:

    标签: gcc g++ mingw


    【解决方案1】:

    你的命令行是:

    gcc.exe -Wp,-v -E -xc -dD -x c++ nul
    

    错误:

    cc1plus.exe: fatal error: nul: No such file or directory
    

    是 C++ 编译器 (cc1plus.exe) 告诉你输入文件 nul 不存在。那是因为当前目录中没有名为nul 的文件。

    Windows CMD NUL 设备是一个虚拟设备,命令的输出可能是 重定向 (command &gt;NUL) 将其丢弃。它不是一个文件

    如果你想测试编译器可以用这个命令行成功调用, 然后写一个程序如:

    ma​​in.cpp

    int main()
    {
        return 0;
    }
    

    保存到当前目录并运行:

    gcc.exe -Wp,-v -E -xc -dD -x c++ main.cpp
    

    【讨论】:

    • 已经有一段时间了,但我很确定用于测试编译器或打开它的 'nul' 参数。这就是我试图调试的 Visual Studio Code 扩展所使用的。它是 Microsoft 的 C++ 工具扩展。他们使用该行来强制第一次运行编译器,以便他们可以运行语言服务器。你知道它可能有这个问题的任何其他原因吗?
    • 没关系。我想通了...你实际上是对的。它试图将输出从 Windows 传递给 NULL 虚拟设备....我没有意识到 Windows 出于某种原因将“开始”键默认为 4 ???所以没有开始。我将其翻转为 1,现在一切正常。谢谢楼主!!!
    【解决方案2】:

    关闭您的 IDE 并转到您的程序文件夹并使用您的 IDE 打开文件夹。然后运行并检查您的问题是否已解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-24
      • 1970-01-01
      • 2016-07-25
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 2011-12-01
      • 2020-01-01
      相关资源
      最近更新 更多