我是一家刚刚开始的小型企业的首席开发人员。我们正在开发一个跨平台的C库,旨在尽可能广泛地在一系列架构和操作系统上运行。我们有广泛的单元测试,所以如果这些测试通过一个新的平台,那么我们可以肯定地说,该库可以在该平台上可靠地工作。
到目前为止,我一直在使用Windows 32位(这是我的开发机器),以及一个Linode VPS,以确保该库在Linux下使用GCC。现在,我也希望部署其他平台(即更多的Linux发行版,Mac OS X,最好是一些智能手机,如果可能的话)。如果可以的话,我想避免虚拟化所有这些平台。是否有任何服务可以让我在许多操作系统和架构上部署库?对于我上面提到的所有平台,我想使32位和64位构建可用,并且根据需要也可以用于不同的处理器。我希望能够为所有这些平台构建库,并运行单元测试。单元测试使用Boost.test编写。
有人有任何建议吗?最好的方法是,如果我可以在我的Linode VPS(Ubuntu 13.04)上安装各种平台的某种方便的交叉编译器,但我应该上传代码的第三方解决方案也可以。
答案 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?
关于移动平台:
,对Linux / Windows / Mac有本机支持,因此您可以使用这些平台中的任何一个为其构建应用
Windows Phone :不是这样,也许你设法使用wine运行Visual Studio然后你已经设置了,但是否则我无法知道。您可以尝试CodeWeaver,它似乎支持Visual Studio 2008的“Wine for money”:
此外,您可以尝试使用此应用程序在.NET中开发程序:
我自己就是Linux用户,所以上面的链接“集中”在Linux上作为主要开发系统。希望这可以帮助!祝你的生意好运!