代码之家  ›  专栏  ›  技术社区  ›  Loki Astari

跨平台构建环境

  •  7
  • Loki Astari  · 技术社区  · 16 年前

    作为优秀的开发人员,我们尽可能使代码符合标准,以帮助在平台之间移植。但是有哪些工具可以帮助我们跨多个平台以统一的方式构建代码。

    *NIX家族有 make 但是Windows需要 nmake .

    我读过 SCons 但不要在愤怒中使用它。您最喜欢的构建工具是什么,为什么您认为它有效并且有任何限制( 平台支撑不良等)。

    还有跨平台的IDE。

    8 回复  |  直到 14 年前
        1
  •  5
  •   user24560    16 年前

    C/C++环境的CGOID很好。 http://www.cmake.org/

        2
  •  4
  •   Tim Post    16 年前

    我个人使用Ant、Rake和Maven2。我使用蚂蚁最多,发现它很好,有几个原因:

    • 因为它是Java,它在很多平台上工作(不改变任何脚本)。

    • 构建文件是用XML编写的,非常容易编写。

    • 它有很多第三方扩展,并且很容易为其编写插件

        3
  •  2
  •   Noam    16 年前

    我们进行极端的交叉开发,我们的代码运行在Linux、Windows CE、Windows 2K、Nucleus和UCOS II上。 因为每个环境都使用不同的“制造”方法(例如,OutNucleus客户要求我们通过代码战士GUI进行编译)。

    我将Ant与Perl结合使用了大约2年,但这将导致构建脚本完全不可维护。

    现在我们开始使用python,这增加了脚本的可维护性。

    总之,我找不到现成的工具,只好自己动手做了。或许,当我有时间的时候(2017年?)我将打包我的脚本并分发它们……

        4
  •  1
  •   robert.berger    16 年前

    你可以在Windows上使用gmake,也可以在cygwin/mingw上使用,或者在Linux上构建你的Windows产品。 http://cdtdoug.blogspot.com/2009/05/mingw-cross-for-linux.html

        5
  •  0
  •   user7094    16 年前

    如果你在Java世界中,有相当多的工具是跨平台的。Apache Ant和Maven都是构建工具,它将运行在Java上的任何平台上。

    Cruise Control(连续集成工具)也适用于Windows和Linux(它也是用Java编写的)。

    我对核心工具没有任何真正的问题,我有时遇到的唯一问题来自构建过程外部的东西,即发布工件——这在系统之间会有所不同,所以我发现没有单一的设置方法。

        6
  •  0
  •   Zach Burlingame    16 年前

    对于C/C++开发,我发现 bakefile 很好用。相当大的 wxWidgets Project是一个跨平台的跨平台实用程序和UI库,用于生成它们的构建文件。

    bakefile是跨平台、跨编译器的本机makefiles生成器。它以编译无关的生成任务的描述作为输入,生成原生的MaFIX文件(AutoCONF的MaFixFIL.In,VisualC++项目,BCC MaFag文件等)。

    bakefile的任务是生成本地makefile,这样人们就可以继续使用他们最喜欢的工具。还有其他跨平台make解决方案,但它们不是本地的,需要用户使用不熟悉的工具(boost.build),或者它们太有限(qmake)。

        7
  •  0
  •   Giulio Vian    16 年前

    有一些工具,如opus make或mks toolkit,提供多平台和支持。如果您有make脚本的现有代码库,可以更容易地迁移到其中一个。我怀疑你可能会在DDJ杂志的广告中寻找类似的工具。

        8
  •  0
  •   James    16 年前

    在过去的18个月中,我们一直在运行Linux、Windows和MAC的Java环境。

    • Maven2驱动我们的构建,在这里很容易让事情保持一致。在M2插件不敢涉足的地方,我们使用小的Ant脚本。
    • 在IDE方面,我们正在使用Eclipse&IDEA——当然,这两者都是多平台的。
    • 测试-Junit,Fitnesse,Fest-都是很好的多平台。
    • 发布脚本是用Ruby编写的。这里的Windows有点麻烦,但是根据需要转换路径的函数通常可以做到这一点。
    • Teamcity负责CI。我们实际上已经将它从Windows迁移到了Linux,并且没有遇到任何错误,非常好的包。

    我们使用GWT有一段时间了,这确实给我们带来了巨大的痛苦。如果你那样摇摆的话要小心。

    推荐文章