7

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

*nix 家族有make但 Windows 需要nmake

我读过关于SCons的文章,但从未在愤怒中使用它。你最喜欢的构建工具是什么,为什么你觉得它有效,是否有任何限制(支持不良的平台等)。

跨平台 IDE 也是如此。

4

8 回答 8

4

我个人使用 ant、rake 和 maven2。我最常使用 ant 并发现它很棒有几个原因:

  • 因为它是 java 它适用于许多平台(无需更改任何脚本)

  • 构建文件是用 XML 编写的,并且相当容易编写

  • 有很多可用的 3rd 方扩展,并且很容易为它编写插件

于 2008-10-07T08:34:10.410 回答
4

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

于 2008-10-07T08:39:14.737 回答
2

我们做极端交叉开发,我们的代码运行在 linux、windows ce、windows 2K、nucleus 和 uCOS-II 上。因为每个环境都使用不同的“make”方法(例如,外核客户要求我们通过 code-warrior GUI 进行编译)。

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

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

归根结底,我没有找到现成的工具,不得不自己构建。也许,当我有时间(2017 年?)时,我会打包我的脚本并分发它们....

于 2008-10-08T13:11:00.913 回答
0

如果您在 Java 世界中,那么有很多工具是跨平台的。Apache Ant 和 Maven 都是构建工具,可以在任何支持 Java 的平台上运行。

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

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

于 2008-10-07T08:36:23.150 回答
0

对于 C/C++ 开发,我发现bakefile运行良好。相当大的wxWidgets项目,一个跨平台的跨平台实用程序和 UI 库,使用它来生成构建文件。

Bakefile 是跨平台、跨编译器的原生 makefile 生成器。它将编译任务的独立于编译器的描述作为输入并生成本机 makefile(autoconf 的 Makefile.in、Visual C++ 项目、bcc makefile 等)。

Bakefile 的任务是生成本机 makefile,以便人们可以继续使用他们喜欢的工具。还有其他跨平台的 make 解决方案,但它们不是原生的,需要用户使用不熟悉的工具(Boost.Build),或者它们太有限(qmake)。

于 2008-11-05T18:21:40.047 回答
0

你可以在 Windows 上使用 gmake 以及 cygwin/minGW 或在 Linux 上构建你的 windows 东西。 http://cdtdoug.blogspot.com/2009/05/mingw-cross-for-linux.html

于 2009-05-19T08:06:26.397 回答
0

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

于 2009-05-19T08:28:15.010 回答
0

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

  • Maven 2 驱动我们的构建,在这里很容易使事情保持一致。M2插件不敢涉足的地方,我们使用小Ant脚本。
  • IDE 方面,我们使用的是 Eclipse 和 IDEA——当然,两者都是多平台的。
  • 测试——JUnit、Fitnesse、Fest——都是多平台的。
  • 发布脚本是用 Ruby 编写的。这里的 Windows 有点麻烦,但是根据需要转换路径的功能通常可以解决问题。
  • TeamCity 执行 CI。我们实际上已经将它从 Windows 迁移到 Linux 并且完全没有遇到任何错误,非常好的包。

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

于 2009-05-19T08:36:00.080 回答