【问题标题】:Translation from cmake to autotools? [closed]从 cmake 到 autotools 的翻译? [关闭]
【发布时间】:2012-02-26 08:16:56
【问题描述】:

我一直在使用 OpenCV 并想继续使用它,但我无法再使用 cmake。有人知道将 cmake 构建描述转换为自动工具的工具吗?

编辑:我希望不要把这变成另一场激烈的战争,但我想这是不可避免的,所以我只想说我在 autotools 方面有更多的经验,并且不想学习 cmake(或 scons 或 imake 或 ant,尽管这些天在使用 Java 或明年或后年发明的任何新工具时,我似乎非常坚持后者)。在发明一个新工具之前,我可以对学习当前工具如何以及为什么工作的通常咆哮,但我宁愿呼吁和平共处:autotools 和 cmake 不能在同一个项目中相处吗?这样我就可以以对我有意义的方式做事,其他人也可以这样做。一种在两者之间自动转换的方法将使用户和维护者的生活更加轻松。

【问题讨论】:

  • 您认为 autotools 会比 cmake 做得更好的具体原因是什么?
  • 我不推荐使用自动工具。它不可维护,语法难以理解,而且如果您不是 Unix 极客,那么它对用户不友好是出了名的。也许你想试试 Scons 或类似的东西 (scons.org)
  • 每次我必须查看 scons 文件时,我发现它也无法维护......
    这三个项目的学习曲线大致相同,可以说,autotools 项目是最容易上手的为 Linux 发行版编译。
  • 那里有 Autotools -> CMake 翻译指南,但我真的怀疑 CMake 的自动工具 -> Autotools 翻译是否存在。我加倍@pdusen 评论,你不喜欢 CMake 中的什么?
  • 自动工具非常用户友好。然而,众所周知,它们对开发人员不友好。这是设计使然。开发软件具有挑战性,尽管软件开发的主要目标之一是让事情变得简单,但以牺牲功能为代价的工具对开发人员的友好性要低得多。

标签: cmake autotools


【解决方案1】:

似乎没有 CMake ==> Autotools 自动化系统,或者,据我所知(或我的 Google 搜索),没有任何分步方法可以做到这一点。总体而言,似乎开发人员更喜欢CMake 而不是Autotools

但是,应该注意的是,没有全自动工具可以将 Autotools 转换为 CMake - 有脚本,例如为转换 @987654321 而编写的脚本@,但这些都是特定于项目的,需要进行相当多的争论才能满足单个项目的需求。

有一些循序渐进的步骤,例如 StackOverflow 问题 here,这可能有助于理解一些转换过程,但它们几乎肯定不会有太大帮助。

很遗憾,您最好自己尝试转换。但是,这需要您进行一些学习,至少要了解CMake,以便在Autotools 中重现它。此外,除非您生成一个工具来为您自动执行转换,特定于 OpenCV 项目,否则您必须为每个新的 OpenCV 版本重新进行转换。

实际上,弄乱 OpenCV 源代码所需的学习量远远少于您自己将项目特定的 OpenCV 转换为 Autotools 所需的学习量。 可能还有其他人,也许在 OpenCV 邮件列表中,他们也有类似的愿望,希望避免学习使用 OpenCV 所需的少量cmake,并已转换为较旧的构建系统,尽管这可能会抓住稻草。

【讨论】:

    猜你喜欢
    • 2014-01-15
    • 1970-01-01
    • 2017-03-09
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2011-10-31
    相关资源
    最近更新 更多