【问题标题】:How to use together buildbot, cmake, ninja and Visual Studio C++ compiler如何一起使用 buildbot、cmake、ninja 和 Visual Studio C++ 编译器
【发布时间】:2026-01-29 22:10:01
【问题描述】:

我的项目是由 builbot 使用 cmake 和 Visual Studio C++ 编译器构建的。

使用“Visual Studio 14 2015 Win64”作为生成器,它可以工作,但构建速度很慢,我很难找到错误的根源(这是另一个问题)。

所以我想尝试 Ninja,但是当我将它设置为生成器时,它选择了 GNU C++ 编译器。我发现我应该在调用 Ninja 之前加载 vcvarsall.bat 但我不明白如何从 buildbot 执行此操作。

【问题讨论】:

标签: visual-studio cmake buildbot ninja


【解决方案1】:

解决办法是:

  1. 加载vcvarsall.bat,正如我在问题中所写并由@valiano 建议的那样
  2. 按照this blog post 中的建议使用 buildbot 进行操作
  3. 确保使用@Florian 链接的the question 中的建议使用CMAKE_IGNORE_PATH 找到Visual C++ 编译器而不是gcc

第 2 点总结了编辑 worker 的 buildbot.tac 文件,添加以下行:

from subprocess import check_output
    for v in check_output(['path\\to\\vcvarsall.bat', 
                       'x86', '&&', 'set']).strip().split('\r\n'):
        v = v.split('=', 1)
        os.environ[v[0]] = v[1]

【讨论】:

    最近更新 更多