gpt4 book ai didi

c++ - 在 Windows 10 x64 上使用 Ninja 作为 MSYS2 + MinGW 的生成器

转载 作者:行者123 更新时间:2023-12-05 04:50:26 28 4
gpt4 key购买 nike

我在 Windows 上使用 MSYS2 + MinGW x64 + CMake 作为我的开发设置。目前,为了初始化我的项目,我打开一个“MSYS2 MinGW 64-bit” shell 并调用 CMake,如下所示:

cmake .. -G"MinGW Makefiles"

这很好用,但我想使用 ninja 而不是 make。因此,我安装了 mingw-w64-x86_64-ninja通过我的 MSYS2 shell,使其在我的 MinGW 环境中可用。我以为

cmake .. -G"Ninja"

可以正常工作,但它会失败并出现以下错误:

-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe
-- Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe - broken
CMake Error at C:/msys64/mingw64/share/cmake-3.20/Modules/CMakeTestCCompiler.cmake:66 (message):
The C compiler

"C:/msys64/mingw64/bin/gcc.exe"

is not able to compile a simple test program.

It fails with the following output:

Change Dir: C:/projecct/build/CMakeFiles/CMakeTmp

Run Build Command(s):C:/msys64/usr/bin/ninja.exe cmTC_c3f3d && [1/2] Building C object CMakeFiles/cmTC_c3f3d.dir/testCCompiler.c.obj
FAILED: CMakeFiles/cmTC_c3f3d.dir/testCCompiler.c.obj
C:\msys64\mingw64\bin\gcc.exe -o CMakeFiles/cmTC_c3f3d.dir/testCCompiler.c.obj -c testCCompiler.c
/bin/sh: line 1: C:msys64mingw64bingcc.exe: command not found
ninja: build stopped: subcommand failed.





CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:2 (project)


-- Configuring incomplete, errors occurred!
See also "C:/project/build/CMakeFiles/CMakeOutput.log".
See also "C:/project/build/CMakeFiles/CMakeError.log".

从下面一行判断

 /bin/sh: line 1: C:msys64mingw64bingcc.exe: command not found

这似乎是一个 /\ 的问题。

  • 这个问题有解决方案或解决方法吗?

  • 我可以在 Windows 10 的 MSYS2 + MinGW x64 设置上使用 Ninja 作为生成器吗?

最佳答案

在我的公司,我们每天都在 Windows 10 上使用 mingw64 + ninja。我不确定您的设置出了什么问题,这里有一些提示:

  • mingw64 shell 运行 cmake,而不是 msys2 shell(通常是 C:/msys64/mingw64.exe)
  • 确保安装了 mingw-w64-x86_64-cmake,而不仅仅是 cmakemingw-w64-cmake
  • 确保安装了 mingw-w64-x86_64-ninja,而不仅仅是 ninjamingw-w64-ninja

考虑到这两项,我可以在我的 Windows 10 机器上成功配置和编译 ninja(假设我们的设置有点旧,我们卡住了几年前的 msys2 版本)。

关于c++ - 在 Windows 10 x64 上使用 Ninja 作为 MSYS2 + MinGW 的生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67273235/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com