生成文件的任何好的工具?
我正在寻找一种可以为不同编译器(gcc,microsoft vc ++,borland等)和不同平台(Win,Linux,Mac)的C / C ++项目生成makefile的工具。
解决方案
回答
我们是否尝试过自动Makefile生成器?
它支持以下编译器:
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
回答
我们可能需要考虑的其他建议:
- Scons是一个跨平台,跨编译器的构建库,使用Python编写构建系统。用于各种大型项目,并且性能非常好。
- 如果我们使用的是Qt,QMake也是一个不错的构建系统。
- CMake也很甜蜜。
- 最后,如果其他所有方法都失败了...
回答
我还要第二个CMake。我已经在一个多平台项目中使用了很长一段时间,对此我感到非常满意。
回答
要考虑的一个问题是我们是否需要" makefile"创建者或者替代构建系统?替换生成系统的问题是,对于用户期望的平台(Visual C ++),通常无法获得良好的IDE集成。
如果我们确实想要Makefile创建者而不是替代构建系统,请查看MPC。它是免费和开源的。
回答
我曾经使用过Bakefile并取得了一些成功。这相当简单,并且似乎运行良好。
回答
(M | m)akefile的自动生成使我担心我们要在此处执行的操作。
键入make时,我们是否了解幕后情况?还是gmake?我之所以这么问是因为,如果发生问题时我们不这样做,例如新代码更改未合并到构建中,那么我们将很难处理发生的事情。
为了开始理解make,我可以建议阅读Robert Mecklenberg的"使用GNU Make管理项目"。前几章介绍了make的工作方式。让我们听到make反向链接这一事实是我们可以做的最大的事情之一。
如果我们不这样做,并且系统似乎正常工作,那么我们将使用The Pragmatic Programmers的术语"巧合编程"。 (-:
顺便说一句在他们的网站上有不错的文章!而且我不参与其中。 YMMV。亚达亚达...
回答
CMake是唯一可以实际生成真正的Visual Studio项目的工具(即不是" Makefile"项目-调用外部工具的项目),并且可以在构建输入文件(CMakeLists.txt)更改时自动重新创建项目。
SCons性能问题是众所周知的,并且在SCons邮件列表中引起了广泛争议。
回答
我会投票给OMake。它解决了我对GNU make的所有抱怨:
- 这是一种成熟的语言。
- 使用MD5代替时间戳。
- 提供了一个最小的外壳,可以在所有平台上实现最有用的unix命令:find,sed,awk等。
- 适用于unix或者dos样式路径名。
- 大量记录。
- 支持并行构建。
- 快速地。