【发布时间】:2010-09-05 19:01:52
【问题描述】:
我正在寻找一种工具,它可以为不同编译器(gcc、microsoft vc++、borland 等)和不同平台(Win、Linux、Mac)的 C/C++ 项目生成 makefile。
【问题讨论】:
-
@LightnessRacesinOrbit 抱歉。
标签: c++ c cross-platform makefile
我正在寻找一种工具,它可以为不同编译器(gcc、microsoft vc++、borland 等)和不同平台(Win、Linux、Mac)的 C/C++ 项目生成 makefile。
【问题讨论】:
标签: c++ c cross-platform makefile
你试过Automatic Makefile Generator吗?
它支持以下编译器:
Borland 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 位
【讨论】:
我之前使用过Bakefile 并取得了一些成功。这相当简单,而且似乎效果很好。
【讨论】:
CMake 是唯一可以真正生成真正的 Visual Studio 项目(即不是“Makefile”——调用外部工具的项目)的工具,它会在构建输入文件 (CMakeLists.txt) 更改时自动重新创建项目.
SCons 的性能问题是众所周知的,并且是 SCons 邮件列表中备受争议的话题。
【讨论】:
我会投票给OMake。它解决了我对 GNU make 的所有抱怨:
【讨论】:
自动生成 (M|m)akefiles 让我担心你在这里要做什么。
当您键入 make 时,您了解幕后发生的事情吗?还是gmake?我之所以这么问,是因为如果出现问题时您不这样做,例如未将新代码更改合并到构建中,您将难以处理已发生的事情。
要开始了解 make,我建议您阅读 Robert Mecklenberg 的“Managing Projects with GNU Make”。前面几章介绍了 make 是如何工作的。让您了解 make 是反向链接的事实是您可以做的最重要的事情之一。
如果您不这样做,并且您的系统似乎可以正常工作,那么使用实用程序员的术语“programming by coincidence”就可以了。 (-:
顺便说一句,他们的网站上有很棒的文章!我不参与其中。 YMMV。呀呀呀呀……
【讨论】:
我还将支持 CMake。我在一个多平台项目上使用它已经有一段时间了,我对它非常满意。
【讨论】:
需要考虑的一个问题是您想要“makefile”创建者还是替代构建系统?替换构建系统的问题在于,对于用户期望的平台(Visual C++),您通常无法获得良好的 IDE 集成。 如果您确实想要一个 makefile 创建器而不是替代构建系统,请查看 MPC。它是免费和开源的。
【讨论】:
最近添加到 make 替换列表中的是 waf。根据个人经验,SCONS 做得很好。
【讨论】: