在多个平台和架构上部署?

时间:2013-10-11 14:08:15

标签: c++ linux macos cross-platform cross-compiling

我是一家刚刚开始的小型企业的首席开发人员。我们正在开发一个跨平台的C库,旨在尽可能广泛地在一系列架构和操作系统上运行。我们有广泛的单元测试,所以如果这些测试通过一个新的平台,那么我们可以肯定地说,该库可以在该平台上可靠地工作。

到目前为止,我一直在使用Windows 32位(这是我的开发机器),以及一个Linode VPS,以确保该库在Linux下使用GCC。现在,我也希望部署其他平台(即更多的Linux发行版,Mac OS X,最好是一些智能手机,如果可能的话)。如果可以的话,我想避免虚拟化所有这些平台。是否有任何服务可以让我在许多操作系统和架构上部署库?对于我上面提到的所有平台,我想使32位和64位构建可用,并且根据需要也可以用于不同的处理器。我希望能够为所有这些平台构建库,并运行单元测试。单元测试使用Boost.test编写。

有人有任何建议吗?最好的方法是,如果我可以在我的Linode VPS(Ubuntu 13.04)上安装各种平台的某种方便的交叉编译器,但我应该上传代码的第三方解决方案也可以。

1 个答案:

答案 0 :(得分:2)

唯一的跨平台编译(具有传统,免费且得到大型社区的支持)是gcc。当然,有英特尔编译器和许多其他(甚至更新的,免费的铿锵似乎被llvm使用,但它仍然年轻)。你可以在这里找到一个好的列表(对于C ++,但你可以在页面上滚动并找到任何其他语言):

http://en.wikipedia.org/wiki/List_of_compilers#C.2B.2B_compilers

如果您想从Linux构建Mac,请查看:

http://www.bpiwowar.net/2012/06/cross-compiling-for-os-x-with-distcc-on-linux/

对于来自Linux的Windows:

Manual for cross-compiling a C++ application from Linux to Windows?

关于移动平台:

    对于 Android
  • ,对Linux / Windows / Mac有本机支持,因此您可以使用这些平台中的任何一个为其构建应用

  • Windows Phone :不是这样,也许你设法使用wine运行Visual Studio然后你已经设置了,但是否则我无法知道。您可以尝试CodeWeaver,它似乎支持Visual Studio 2008的“Wine for money”:

http://www.codeweavers.com/compatibility/browse/company/?letter=m;company_sort%5Bcompany_name%5D=ASC;company_curPos=200;company_id=1;sort%5Bapp_name%5D=ASC;curPos=400

此外,您可以尝试使用此应用程序在.NET中开发程序:

http://monodevelop.com/

  • Iphone :嗯,这不是直截了当但你可以尝试这个链接:

http://www.saurik.com/id/4

我自己就是Linux用户,所以上面的链接“集中”在Linux上作为主要开发系统。希望这可以帮助!祝你的生意好运!