VS 2017 + cmake + ninja + mingw

我正在使用VS 2017的新“打开文件夹”功能,通过CmakeSettings.json自动创建cmake。

代码是用C11编写的,所以我需要用gcc(来自mingw-64)编译它。 我创建了一个新的cmake配置,如下所示:

{
  "name": "GNU-Debug",
  "generator": "Ninja",
  "configurationType": "Debug",
  "inheritEnvironments": [ "msvc_x64_x64" ],
  "buildRoot": "${env.USERPROFILE}CMakeBuilds${workspaceHash}build${name}",
  "installRoot": "${env.USERPROFILE}CMakeBuilds${workspaceHash}install${name}",
  "variables": [
    {
      "name": "CMAKE_MAKE_PROGRAM",
      "value": "C:msys64mingw64binmingw32-make.exe"
    },
    {
      "name": "CMAKE_C_COMPILER",
      "value": "C:msys64mingw64bingcc.exe"
    },
    {
      "name": "CMAKE_CXX_COMPILER",
      "value": "C:msys64mingw64bing++.exe"
    }
  ]
}

输出如下所示:

检测到的Ninja版本(GNU Make 4.2.1针对x86_64-w64-mingw32构建)版权所有(C)1988-2016 Free Software Foundation,Inc.许可证GPLv3 +:GNU GPL版本3或更高版本http://gnu.org/licenses/ gpl.html这是免费软件:您可以自由更改和重新分配它,在法律允许的范围内没有任何担保)比CMake(1.3)要求的忍者版本少。

这是非常奇怪的,考虑到忍者的检测版本应该是一个数字。 VS'忍者和MinGW忍者都是最新的(1.8.2)。

是否有任何其他方式让MinGW + CMake在VS 2017中工作?


原来我不得不重新启动VS ...一切都按预期工作。

链接地址: http://www.djcxy.com/p/53397.html

上一篇: VS 2017 + cmake + ninja + mingw

下一篇: Why doesn't GCC show vectorization information?