cmake mingw-w64:尝试构建时出现奇怪的错误

时间:2020-05-11 12:22:40

标签: c++ cmake mingw-w64 ninja

我已经安装了MinGW-w64并构建了一个简单的Hello World程序。但是第二次我运行cmake --build .时发生了一个奇怪的错误。 当Path变量设置为C:/MinGW/bin时,一切都很好并且可以正常工作。但是,当我将路径设置为C:/msys64/mingw64/bin时,会发生这种情况:

PS C:\repos\hellovs\build> cmake ../ -G Ninja
-- The CXX compiler identification is GNU 10.1.0
-- Check for working CXX compiler: C:/msys64/mingw64/bin/c++.exe
-- Check for working CXX compiler: C:/msys64/mingw64/bin/c++.exe - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/repos/hellovs/build
PS C:\repos\hellovs\build> cmake --build ./
[2/2] Linking CXX executable HelloVS.exe
PS C:\repos\hellovs\build> cmake --build ./
ninja: error: FindFirstFileExA(c/:/msys64/mingw64/include/c++/10.1.0): ╤шэЄръёшўхёър  ю°шсър т шьхэш Їрщыр, шьхэш яряъш шыш ьхЄъх Єюьр.

HelloVS.exe在第一次运行构建命令时正常编译。

Apparanteley Ninja tryies使用无效路径。关于如何解决此问题的任何想法?


似乎生成了无效的依赖项:

PS C:\repos\hellovs\build> ninja -t recompact
PS C:\repos\hellovs\build> ninja -t deps
CMakeFiles/HelloVS.dir/main.cpp.obj: #deps 136, deps mtime 6109023486207704 (VALID)
    ../main.cpp
    C/:/msys64/mingw64/include/c++/10.1.0/iostream
    C/:/msys64/mingw64/include/c++/10.1.0/x86_64-w64-mingw32/bits/c++config.h
    C/:/msys64/mingw64/include/c++/10.1.0/x86_64-w64-mingw32/bits/os_defines.h
    C/:/msys64/mingw64/include/c++/10.1.0/x86_64-w64-mingw32/bits/cpu_defines.h
    C/:/msys64/mingw64/include/c++/10.1.0/pstl/pstl_config.h
    C/:/msys64/mingw64/include/c++/10.1.0/ostream
...

1 个答案:

答案 0 :(得分:1)

这是一个GCC错误。

MSYS2维护者决定不等待上游和patched it

从MSYS2 shell运行pacman -Syuu以更新您的软件包。