在多个平台和架构上部署? [关闭]

Posted

技术标签:

【中文标题】在多个平台和架构上部署? [关闭]【英文标题】:Deploying on multiple platforms and architectures? [closed] 【发布时间】:2013-10-11 14:08:14 【问题描述】:

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

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

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

【问题讨论】:

“首席开发人员”.... oohhhkay 【参考方案1】:

唯一的跨平台编译(具有传统、免费并得到大型社区的支持)是 gcc。当然,还有 Intel Compiler 和许多其他编译器(甚至还有似乎被 llvm 使用的更新的免费 clang,但它还很年轻)。您可以在此处找到一个很好的列表(对于 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 上。希望这可以帮助!祝您生意兴隆!

【讨论】:

非常感谢您的详细解答!我将浏览提供的链接。我在 Windows 上编写代码,但我可以访问 Linux VPS,因此如果它比 Windows 更简单,我当然可以使用它进行交叉编译。对于 Windows Phone,我将只使用我的 Windows 盒子。

以上是关于在多个平台和架构上部署? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

部署kvm虚拟化平台及功能管理

k8s+SpringCloud全栈技术:在k8s平台部署亿级高并发的SpringCloud项目

KVM 虚拟化技术 | 虚拟化平台部署

Rancher 全球化部署最佳实践

实用教程 | 云原生安全平台 NeuVector 部署

手把手教你在Serverless平台上部署应用