Visual C++中的分布式生成工具
Distributed build tools in Visual C++?
我们正在开发相当大的中间件软件,每次需要在VS2008中重新构建整个解决方案(在单台机器上四核并行构建)时,都需要10-20分钟。我听说有相当昂贵的VS扩展,如Incredibuild,它们利用了网络中的其他机器(我们有大约10台机器)。您是否曾经使用或听说过这些工具?它们是否使构建过程如此快速和智能,物有所值?(例如,重用可以缓存在不同机器上的对象文件)
提前致谢
好吧,我们遇到了类似的问题,只是在我们的例子中,构建需要 40 多分钟。
在Visual Studio 2008中,我们使用了Xoreax Incredibuild(参见Xoreax网站),它大大减少了构建时间(即减少一半时间或更好)。所以我会说是的,这样的工具可以提供帮助。而且,在我看来,它并没有那么贵(即每个座位在 250 到 500 美元之间,具体取决于额外的选项,并且批量购买有一些折扣)。
现在我们处于VS 2010,在我们升级时,Incredibuild中不支持2010,因此我们依赖VS2010版本。所有开发人员都有四核,VS 2010中的构建充分利用了这一点,因此构建时间是可以接受的。我们还审查并改进了我们的包含,并更好地利用了预编译标头等。
因此,您可以尝试Xoreax Incredibuild(他们有一个功能齐全的30天试用版,可以在到期时延长)以确定价格/收益比是否适合您的情况,或者修改和改进您的包含和/或升级到VS2010如果您有多核机器。
同意之前的答案。我们有类似的经历;构建时间确实会大幅缩短。我们首先使用了简单的 Incredibuild 设置;在其他计算机上使用备用容量。好处是显而易见的,但我们认识到通过添加专用的构建服务器,我们可以更快地构建(不过,我们确实有更多的开发人员 - 超过 100 个客户端 - 所以 YMMV)
至于成本,Incredibuild很可能会将开发人员的生产力提高至少1%。
Microsoft现在有BuildXL,但你必须为它单独构建项目文件。
FastBuild是另一种选择,但同样,单独的项目格式。 msfastbuild可以使用FastBuild构建Visual Studio项目,但是...您必须针对构建链对其进行调整。
仍在试图让其中一个运行...
- 使用外部SDK工具链文件在VisualStudio上生成项目编译错误
- 在clang++预处理器中确定gcc工具链版本
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 参数化自定义CMake工具链
- 如何在QT中的自定义视频小工具t上绘制矩形
- 使用 C++ 和 i2c 工具从虚拟 i2c 写入和读取
- 用于C++的静态二进制检测或二进制重写工具和框架
- 在OSX上使用CMake将Adobe的XMP工具包构建为共享库的最简单方法是什么?
- AWS IoT 开发工具包:通过 TCP 端口 443 使用 MQTT
- 在官方张量流 resnet50 模型上运行 tflite 精度工具
- Q没有管理权限的 exe 无法启动维护工具
- C++合并排序可视化工具
- 为Bazel工具链指定sysroot
- 在自动工具中包含用于不同bin_Programs的不同库
- 如何使用MSVC 2019创建和使用Qt 5.14.0自定义小工具插件
- Eclipse CDT clang 工具链 - 无法从链接器选项中删除 stdlibc++,但可以添加 libc++,E
- 使用不同的工具时,Eccodes 会产生不同的结果
- Clang 工具,用于提取给定 lambda 类型的 lambda 主体
- 构建LLVM 10 C++工具链的问题
- Visual C++中的分布式生成工具