4

我在 Windows 下开发,并使用 Eclipse 和 CDT 开发 C++ 应用程序。

现在,对于构建管理,我可以创建一个普通的C++ 项目,Eclipse 将完全管理构建(使用适当的参数调用 g++ 编译器),或者我可以创建一个托管 Make C++ 项目,Eclipse 将管理 Makefile,然后在该 Makefile 上调用 make (在构建项目时)这反过来将完成构建过程。

使用其中一种方法而不是另一种方法有什么好处吗?

编辑:我不是在谈论 Managed Make vs Standard Make,而是在谈论 Make vs Eclipse。昨天我尝试在一个根本不包含 Make 的系统上在 eclipse 下编译一个 C++ 项目,并且该项目编译得很好,这意味着 eclipse 可以完全自行管理构建,这使最初的问题成为焦点:我需要制作?; 我可以单独使用eclipse。

那是我的问题...

4

6 回答 6

10

一个考虑因素是,您是否希望与您的项目一起工作的开发人员必须安装和使用 Eclipse?这不是对 Eclipse 的价值判断,而是对您的受众以及他们对您选择的工具的熟悉程度的假设。如果 C++ 程序员熟悉 Java/Eclipse,这可能不是问题。如果他们不熟悉 Eclipse,他们会将 Eclipse 视为完成工作的障碍。

您需要注意有关从头开始构建构建环境并保持更新的说明。你知道开发人员,会有一些 C++ 顽固分子会诅咒你的决定,并抱怨你应该如何使用 Make 来完成它,而不是让(呵呵)他们安装一个全新的平台来进行构建。

于 2009-08-10T17:38:16.713 回答
6

我不确定您是否会在C++ 项目中使用此选项,但使用Managed Make C++ 项目,您将能够直接从命令行环境调用 makefile(前提是您已将 make 可执行文件映射到您的路径中)。我认为这是一项真正的资产——尤其是涉及到自动化构建脚本和更以 CLI 为中心的用户时。

另外 - 不要忘记编写自己的 makefile 是 CDT 的一个选项。如果您有特定要求,您可以编写自己的 make 和链接器文件,Eclipse 会将其构建目标绑定到该 makefile。

于 2009-08-02T20:56:09.310 回答
3

从 CDT4.0 开始,选项基本相同。所有标准制作功能都可用于托管构建项目,反之亦然。

CDT 4.0 构建系统更改

我能找到的最佳 cdt4.0 更新日志

于 2009-08-05T02:25:36.800 回答
2

If you intend to use a continuous build/integration system at some point the makefile could be very helpful

于 2009-08-11T16:14:32.587 回答
0

IMO,这取决于您的项目受欢迎程度。
通常,实际上在任何平台上构建 Make 项目都没有问题(但在 Windows 中,您可能需要 cygwin/mingw)。更重要的是,如果有人需要编译你的基于 Eclipse 的项目,而他没有使用 Eclipse,他会责怪你的选择。
因此,如果您的项目不适合大众(或者您真的不关心他们),请使用您喜欢的任何内容。但是,如果源代码将由其他人编译,那么切换到 Make 可能是个好主意。

于 2009-08-08T11:37:33.630 回答
0

这在很大程度上取决于您的团队和项目的规模。Make 更难设置,但可以扩展到多机构建和独立于 Eclipse 的大型团队。此外,使用 Make,您可以更好地控制项目的构建(当您深入了解 make 文件的详细信息时),并且它可以包含在持续集成系统中。并且您的制作文件可以独立于平台(如果这与您相关)。

如果您使用 Eclipse 构建,一切都归结为您的项目文件。如果多人需要对您的项目结构进行更改(即添加/更改组件),则配置管理可能会很困难,而使用 make 文件会很好。

另一方面:如果是一个人或两个人的开发,Eclipse CDT 可能是您的快速通道,因为您可以跳过耗时的 make 文件设置。

于 2009-08-10T09:15:54.570 回答