【发布时间】:2010-11-09 13:32:42
【问题描述】:
我参与了针对 Windows 和 Linux (RHEL) 平台的 C++ 项目。到目前为止,开发完全是在 Visual Studio 2008 上完成的。对于 Linux 编译,我们使用了 3rd 方 Visual Studio 插件,它读取 VS 解决方案/项目文件并在 Linux 机器上远程编译。
最近决定放弃 3rd 方插件。
现在我最关心的是构建系统。我一直在寻找跨平台构建工具。这样我就不需要维护两组构建文件(例如 Windows 的 vcproj/solution 和 Linux 的 make 文件)。
我找到了以下候选人: 一种。斯康斯 湾。 cmake
您如何看待跨平台开发的工具?
还有一点让我困扰的是,如果没有 vcproj 文件,Visual Studio (+ Visual Assist) 会失去很多功能 - 你如何使用这些工具来处理这个问题?
谢谢 迪玛
PS 1:我喜欢 Scons 的一点是它 (a) 使用 python,因此它很灵活,而 cmake 使用专有语言(我知道它不是构建系统的赢家功能) (b) 自包含(不需要像 cmake 那样在 Linux 上生成 makefile)。
那么为什么不是 Scons 呢?为什么在您的项目中决定使用 cmake?
【问题讨论】:
-
Out 系统旨在最多两个平台,所以问题是如果 cmake 不是“过度杀戮”?我担心的另一点是构建必须是可重现的(从头开始构建两次将完全提供 SAME 产品)。当然,使用本机构建系统我接近目标。 cmake 是否可能会破坏它并根据编译它的人的设置创建不同的 vcproj/makefile(例如,对于 Windows,每个开发人员都在其私人机器上进行编译)?
-
只是关于 Visual Assist 的说明。使用空解决方案时,它可以选择从目录加载文件。
标签: c++ build-process cross-platform cmake scons