1

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

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

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

4

1 回答 1

2

唯一的跨平台编译(具有传统、免费并得到大型社区的支持)是 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:

从 Linux 到 Windows 交叉编译 C++ 应用程序的手册?

关于移动平台:

  • 对于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 作为主要开发系统。希望这可以帮助!祝您生意兴隆!

于 2013-10-11T16:37:18.290 回答