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

如何在GitHub Actions中配置Visual Studio开发者命令提示符?

在GitHub Actions中配置CMake + Ninja + MSVC环境

方法1:用官方动作自动配置(推荐)

GitHub Actions有现成的动作可以自动搞定MSVC环境配置,不用手动找vcvarsall.bat的路径,兼容性更强。

示例Workflow配置:

name: Build with CMake+Ninja+MSVC
on: [push, pull_request]

jobs:
  build:
    runs-on: windows-2019 # 对应你提到的VS2019 Community版本
    steps:
      - name: 拉取代码
        uses: actions/checkout@v4

      - name: 配置MSVC命令行环境
        uses: ilammy/msvc-dev-cmd@v1
        with:
          arch: x64 # 可按需指定架构:x86、x64、arm、arm64

      - name: 安装Ninja
        uses: seanmiddleditch/gha-setup-ninja@v4

      - name: CMake配置
        run: cmake -S . -B build -G Ninja
        # 如需明确指定编译器,可追加:-DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl

      - name: 编译项目
        run: cmake --build build --config Release

这个方法里,ilammy/msvc-dev-cmd会自动定位对应VS版本的vcvarsall.bat并执行,把MSVC的环境变量配置好,后续的CMake和编译命令都能直接调用cl编译器和Ninja。

方法2:手动调用vcvarsall.bat

如果你一定要手动指定你给出的vcvarsall路径,也可以直接在CMD会话里执行脚本并串联后续命令:

示例Workflow配置:

name: Build with Manual MSVC Setup
on: [push, pull_request]

jobs:
  build:
    runs-on: windows-2019
    steps:
      - name: 拉取代码
        uses: actions/checkout@v4

      - name: 安装Ninja
        run: choco install ninja -y

      - name: 配置MSVC环境并执行编译
        shell: cmd
        run: |
          "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 && ^
          cmake -S . -B build -G Ninja && ^
          cmake --build build --config Release

注意这里要用shell: cmd,因为vcvarsall是批处理脚本,必须在同一个CMD会话里执行后续的CMake命令,才能继承到MSVC的环境变量。如果用PowerShell的话,需要把命令包在cmd /c里执行。

额外注意事项

  • 如果你用windows-latest runner,对应的是最新版Visual Studio(比如VS2022),vcvarsall的路径会有所不同,所以指定windows-2019才能匹配你给出的路径。
  • Ninja必须提前安装,用Chocolatey或者专门的setup动作都可以。
  • 只要vcvarsall配置好环境,CMake会自动识别MSVC编译器,不用额外指定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 22:55:18