makefile生成的任何好工具?

时间:2008-08-13 08:47:36

标签: c++ c cross-platform makefile

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

10 个答案:

答案 0 :(得分:36)

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

  • Scons是一个跨平台的交叉编译器构建库,它使用Python scruipting构建系统。用于各种大型项目,表现非常好。

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

  • CMake也很可爱。

  • 最后,If all else fails...

答案 1 :(得分:8)

您是否尝试过Automatic Makefile Generator

它支持以下编译器:

Borland 3.1 
Borland 5.0 
Borland 5.0, 16 bit 
Borland 5.5 
Borland 5.6 
Borland 5.8 
CC 
Gnu g++ 
Gnu g++, dynamic library 
Intel 5, 6, 7 for Linux 
Intel 5, 6, 7 for Linux, dynamic library 
Intel 5, 6, 7 for windows 
Intel 8,9,10 for Linux 
Intel 8,9,10 for Linux, dynamic library 
Intel 8,9 for windows 
Intel 10 for windows 
Visual C++ 5 
Visual C++ 6, 7, 7.1 
Visual C++ 8 
Open Watcom 
Watcom 10A 
Watcom 10A, 16 bit 

答案 2 :(得分:4)

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

SCons的性能问题是众所周知的,也是SCons邮件列表中一个彻底的辩论主题。

答案 3 :(得分:4)

我之前使用Bakefile取得了一些成功。这很简单,似乎运作良好。

答案 4 :(得分:3)

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

  • 这是一种成熟的语言。
  • 使用MD5代替时间戳。
  • 提供了一个最小的shell,它在所有平台上实现了最有用的unix命令:find,sed,awk等...
  • 适用于unix或dos样式的路径名。
  • 广泛记录。
  • 支持并行构建。
  • 快。

答案 5 :(得分:2)

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

当您输入make时,您是否了解幕后的内容?还是gmake?我只是问,因为如果事情发生时没有,例如新的代码更改没有被整合到构建中,那么你将难以尝试工作。

为了开始理解make,我可以建议阅读Robert Mecklenberg的“Managing Projects with GNU Make”。前面的章节介绍了制作是如何运作的。让你知道make是反向链接的事实是你可以做的最重要的事情之一。

如果你没有,并且你的系统似乎有效,那么你将使用“实用程序员”一词,“programming by coincidence”。 ( - :

BTW在他们的网站上有很棒的文章!而且我没有参与其中。因人而异。矢田-矢田...

答案 6 :(得分:1)

我也是第二个CMake。我在多平台项目上使用它已经有一段时间了,我对它非常满意。

答案 7 :(得分:0)

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

答案 8 :(得分:0)

最近添加的make替换列表是waf。根据个人经验,SCONS可以很好地完成工作。

答案 9 :(得分:0)

我不知道你是否对此问题感兴趣。我正在研究一个名为CodeMate的类似Makefile自动生成器投影,它是使用Ruby开发的。也许它现在对于大型应用来说并不成熟,但我会继续努力使它变得更好。用户不需要编辑任何配置文件来构建软件,或者至少它应该是。应尽量减少学习曲线。