有什么好的makefile生成工具吗?[关闭]
-
08-06-2019 - |
题
我正在寻找一个可以为不同编译器(gcc、microsoft vc++、borland 等)和不同平台(Win、Linux、Mac)的 C/C++ 项目生成 makefile 的工具。
解决方案
您可能需要考虑的其他建议:
斯康斯 是一个跨平台、跨编译器的构建库,使用 Python scruipting 构建系统。应用于各种大型项目中,并且表现非常出色。
如果您使用 Qt, QMake 也是一个不错的构建系统。
CMake 也蛮甜蜜的。
最后, 如果其他一切都失败了...
其他提示
你有没有尝试过 自动生成文件生成器?
它支持以下编译器:
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
我用过 烘焙文件 之前取得了一些成功。这相当简单,而且似乎效果很好。
CMake 是唯一可以实际生成真实 Visual Studio 项目(即不是“Makefile”-调用外部工具的项目),并且当构建输入文件(CMakeLists.txt)更改时自动重新创建项目。
SCons 性能问题是众所周知的,也是 SCons 邮件列表上备受争议的话题。
我会投票给 奥马克. 。它解决了我对 GNU make 的所有抱怨:
- 这是一种成熟的语言。
- 使用 MD5 代替时间戳。
- 提供了一个最小的 shell,它在所有平台上实现了最有用的 unix 命令:查找、sed、awk 等...
- 适用于 unix 或 dos 风格的路径名。
- 广泛记录。
- 支持并行构建。
- 快速地。
自动生成 (M|m)akefiles 让我担心你在这里想要做什么。
当你输入 make 时,你知道幕后发生了什么吗?还是gmake?我只是问,因为如果当事情发生时你不这样做,例如新的代码更改没有合并到构建中,你将很难尝试处理发生的事情。
要开始理解 make,我可以建议阅读“使用 GNU Make 管理项目” 罗伯特·梅克伦伯格。前面的章节介绍了 make 是如何工作的。让您了解 make 是向后链接的事实是您可以做的最重要的事情之一。
如果您不这样做,并且您的系统似乎可以工作,那么您将使用实用程序员的术语:“巧合编程". (-:
顺便说一句,他们的网站上有很棒的文章!而且我和他们没有关系。YMMV。雅达雅达...
我还会第二次使用 CMake。我已经在一个多平台项目上使用它很长一段时间了,我对它非常满意。
需要考虑的一个问题是您想要一个“makefile”创建器还是一个替代的构建系统?替换构建系统的问题在于,对于用户期望的平台(Visual C++),您通常无法获得良好的 IDE 集成。如果您确实想要一个 makefile 创建器而不是替换构建系统,请查看 多点控制. 。它是免费且开源的。
最近添加到 make 替换列表中的是 瓦夫. 。从个人经验来看,SCONS 做得很好。
不知道你对这个问题是否还有兴趣。我正在研究一个类似的 Makefile 自动生成器投影,称为 代码伙伴, ,使用Ruby开发。也许现在对于大型应用程序来说还不是那么成熟,但我会继续努力使它变得更好。用户不需要编辑任何配置文件来构建软件,或者至少应该如此。学习曲线应该最小化。