You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSC+CMake自定义套件编译C++20及MSYS2 g++适配问题咨询

完全可以创建自定义CMake Kit适配MSYS2的g++编译器,以下是具体操作步骤:

1. 前置准备

  • 先将MSYS2对应环境的bin目录加入系统PATH变量,比如常用的mingw64环境默认路径是C:\msys64\mingw64\bin,确认该目录下存在g++.exe、gcc.exe,以及你要使用的生成器对应的可执行文件:
    • 若选Ninja生成器:确认存在ninja.exe(MSYS2可通过pacman -S mingw-w64-x86_64-ninja安装)
    • 若选MinGW Makefiles生成器:确认存在mingw32-make.exe

2. 添加自定义CMake Kit

  1. 按Ctrl+Shift+P打开VS Code命令面板,输入并执行CMake: Edit User-Local CMake Kits,打开cmake-kits.json配置文件
  2. 在文件的JSON数组中加入以下配置,可根据你的实际安装路径调整:
[
  // 其他已有kit配置保留,新增以下内容
  {
    "name": "MSYS2 MinGW64 G++ (Ninja)",
    "compilers": {
      "C": "C:/msys64/mingw64/bin/gcc.exe",
      "CXX": "C:/msys64/mingw64/bin/g++.exe"
    },
    "generator": "Ninja",
    "preferredGenerator": {
      "name": "Ninja"
    }
  },
  // 如果想用MinGW Makefiles生成器,可以再加下面这个配置
  {
    "name": "MSYS2 MinGW64 G++ (MinGW Makefiles)",
    "compilers": {
      "C": "C:/msys64/mingw64/bin/gcc.exe",
      "CXX": "C:/msys64/mingw64/bin/g++.exe"
    },
    "generator": "MinGW Makefiles",
    "preferredGenerator": {
      "name": "MinGW Makefiles"
    }
  }
]

3. 配置全局默认生成器(可选,避免偶发报错)

打开VS Code的settings.json,加入以下配置:

// 选你使用的生成器即可,这里以Ninja为例
"cmake.generator": "Ninja"

4. 验证使用

保存所有配置后,点击VS Code底部状态栏的CMake Kit选择按钮,选中你刚刚新增的MSYS2 MinGW64 G++相关的Kit,重新执行CMake Configure操作即可正常编译C++20代码。

注意事项

  • 优先推荐使用Ninja生成器,编译速度更快,且不会出现MinGW Makefiles常见的PATH中存在sh.exe导致的编译报错问题
  • 若你的CMakeLists.txt中还未指定C标准,需要加入配置set(CMAKE_CXX_STANDARD 20)开启C20支持

内容的提问来源于stack exchange,提问作者a a

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 16:06:05