C++ 使用Ninja作为MSYS2+;Windows 10 x64上的MinGW

C++ 使用Ninja作为MSYS2+;Windows 10 x64上的MinGW,c++,windows,cmake,mingw,ninja,C++,Windows,Cmake,Mingw,Ninja,我在windows上使用MSYS2+MinGW x64+CMake作为我的开发设置。目前,为了初始化我的项目,我打开一个“MSYS2 MinGW 64位”shell并调用CMake,如下所示: cmake .. -G"MinGW Makefiles" 这很好,但我想使用ninja而不是make。因此,我通过我的MSYS2外壳安装,使其在我的MinGW环境中可用。我预料 cmake .. -G"Ninja" 无法正常工作,但会出现以下错误: 从以下几行判

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

cmake .. -G"MinGW Makefiles"
这很好,但我想使用
ninja
而不是
make
。因此,我通过我的MSYS2外壳安装,使其在我的MinGW环境中可用。我预料

cmake .. -G"Ninja"
无法正常工作,但会出现以下错误:

从以下几行判断

 /bin/sh: line 1: C:msys64mingw64bingcc.exe: command not found
这似乎是一个
/
\
的问题

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

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


    • 在我的公司,我们每天都在windows 10上使用mingw64+忍者。我不确定您的设置中出现了什么问题,以下是一些提示:

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

      考虑到这两项,在我的windows 10计算机上,我可以成功地使用ninja进行配置和编译(尽管我们的设置有点旧,但我们在几年前冻结了msys2版本)。

      我将遵循您的两个观点。我使用
      mingw64
      shell进行编译,而
      msys2
      shell仅用于安装软件包。我已经安装了
      mingw-w64-x86\u 64-cmake
      ——cmake命令报告的
      /mingw64/bin/cmake
      。嗯。。。我以前在同事的笔记本电脑上见过这个问题,但我不记得我们是如何解决的。明天会更好看我感觉自己像个傻瓜。我不小心安装了
      mingw-w64-ninja
      而不是
      mingw-w64-x86\u 64-ninja
      。我很确定我仔细检查了一下……我不知道什么是
      mingw-w64-xxx
      包。你是说
      -i686
      ?不,你可以通过MSYS2外壳下载和安装。
       /bin/sh: line 1: C:msys64mingw64bingcc.exe: command not found