48

我正在寻找一种工具,它可以为不同编译器(gcc、microsoft vc++、borland 等)和不同平台(Win、Linux、Mac)的 C/C++ 项目生成 makefile。

4

10 回答 10

39

您可能需要考虑的其他建议:

  • Scons是一个跨平台、跨编译器的构建库,使用 Python 为构建系统进行调试。用于各种大型项目,性能非常好。

  • 如果您使用 Qt,QMake也是一个不错的构建系统。

  • CMake也很可爱。

  • 最后,如果一切都失败了......

于 2008-08-15T08:09:26.123 回答
8

您是否尝试过自动生成文件生成器

它支持以下编译器:

宝兰 3.1
宝兰 5.0
Borland 5.0,16 位
宝兰 5.5
宝兰 5.6
宝兰 5.8
抄送
牛g++
Gnu g++,动态库
适用于 Linux 的英特尔 5、6、7
适用于 Linux 的 Intel 5、6、7,动态库
适用于 Windows 的英特尔 5、6、7
适用于 Linux 的英特尔 8、9、10
Intel 8,9,10 for Linux,动态库
适用于 Windows 的英特尔 8,9
适用于 Windows 的英特尔 10
视觉 C++ 5
视觉 C++ 6、7、7.1
视觉 C++ 8
打开沃通
华通10A
Watcom 10A,16 位
于 2008-08-13T08:49:26.253 回答
4

我以前使用过Bakefile并取得了一些成功。它相当简单,似乎运作良好。

于 2008-08-27T07:27:43.670 回答
4

CMake 是唯一可以实际生成真正的 Visual Studio 项目(即不是调用外部工具的“Makefile”项目)的工具,它会在构建输入文件 (CMakeLists.txt) 更改时自动重新创建项目。

SCons 性能问题是众所周知的,并且是 SCons 邮件列表中争论不休的话题。

于 2008-09-17T20:49:24.550 回答
4

我会投票给OMake。它解决了我对 GNU make 的所有抱怨:

  • 这是一门成熟的语言。
  • 使用 MD5 而不是时间戳。
  • 提供了一个最小的 shell,它在所有平台上实现了最有用的 unix 命令:find、sed、awk 等...
  • 适用于 unix 或 dos 样式的路径名。
  • 广泛记录。
  • 支持并行构建。
  • 快速地。
于 2008-10-23T17:22:32.133 回答
2

(M|m)akefiles 的自动生成让我担心你在这里尝试做什么。

当您键入 make 时,您了解幕后发生的事情吗?还是gmake?我只是问,因为如果你在事情中断时不这样做,例如新的代码更改没有被合并到构建中,你将很难尝试处理已经发生的事情。

要开始了解 make,我可以建议阅读Robert Mecklenberg的“使用 GNU Make 管理项目”。前面几章介绍了 make 的工作原理。让您了解 make 是反向链接的事实是您可以做的最重要的事情之一。

如果您不这样做,并且您的系统似乎可以工作,那么用实用程序员的术语来说,您将是“巧合编程”。(-:

顺便说一句,他们网站上有很棒的文章!我不参与其中。YMMV。亚达亚达...

于 2008-08-27T09:33:11.153 回答
1

我还将支持 CMake。我在一个多平台项目上使用它已经有一段时间了,我对它非常满意。

于 2008-08-20T20:40:08.533 回答
0

要考虑的一个问题是您想要“makefile”创建者还是替代构建系统?替换构建系统的问题在于,对于用户期望的平台(Visual C++),您通常无法获得良好的 IDE 集成。如果您确实想要一个 makefile 创建者而不是替代构建系统,请查看MPC。它是免费和开源的。

于 2008-08-23T01:37:17.867 回答
0

最近添加到替换列表中的是waf。从个人经验来看,SCONS 做得很好。

于 2011-08-18T04:56:17.950 回答
0

不知道大家对这个问题有没有兴趣。我正在研究一个名为CodeMate的类似 Makefile 自动生成器投影,它是使用 Ruby 开发的。也许它现在对于大型应用程序还没有那么成熟,但我会继续努力让它变得更好。用户不应该需要编辑任何配置文件来构建软件,或者至少应该是这样。学习曲线应该最小化。

于 2012-01-25T15:41:06.753 回答