【问题标题】:any good tool for makefile generation? [closed]任何生成makefile的好工具? [关闭]
【发布时间】:2010-09-05 19:01:52
【问题描述】:

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

【问题讨论】:

  • @LightnessRacesinOrbit 抱歉。

标签: c++ c cross-platform makefile


【解决方案1】:

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

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

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

  • CMake也挺甜的。

  • 最后,If all else fails...

【讨论】:

    【解决方案2】:

    你试过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 位
    

    【讨论】:

      【解决方案3】:

      我之前使用过Bakefile 并取得了一些成功。这相当简单,而且似乎效果很好。

      【讨论】:

        【解决方案4】:

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

        SCons 的性能问题是众所周知的,并且是 SCons 邮件列表中备受争议的话题。

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            【解决方案6】:

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

            当您键入 make 时,您了解幕后发生的事情吗?还是gmake?我之所以这么问,是因为如果出现问题时您不这样做,例如未将新代码更改合并到构建中,您将难以处理已发生的事情。

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

            如果您不这样做,并且您的系统似乎可以正常工作,那么使用实用程序员的术语“programming by coincidence”就可以了。 (-:

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

            【讨论】:

              【解决方案7】:

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

              【讨论】:

                【解决方案8】:

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

                【讨论】:

                  【解决方案9】:

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

                  【讨论】:

                    【解决方案10】:

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

                    【讨论】:

                    • 又一个死链接!我手动访问了您的 GitHub 页面,我在那里看到的 CodeMate 是仅 Fortran 构建的东西。您是否创建了另一个具有相同名称的项目? This 看起来可能就是你的意思。
                    猜你喜欢
                    • 2011-07-19
                    • 1970-01-01
                    • 2013-01-12
                    • 2014-04-27
                    • 1970-01-01
                    • 2023-03-15
                    • 1970-01-01
                    • 1970-01-01
                    • 2011-06-12
                    相关资源
                    最近更新 更多