在Ubuntu上为AIX编译C++代码?

6
一句话问题: 如何在Ubuntu上使用G++编译AIX代码?(假设这是可能的)
我希望只需向make文件添加选项即可指定目标处理器,这很简单。当谈到大多数编译器相关事物时,我是一个新手。
提前感谢你的帮助。

构建交叉编译工具链不是一件容易的事情。你需要从源代码开始构建 GCC(一开始并不容易),然后按照详细说明将其制作成交叉编译器。 - Martin York
3个回答

4
您需要的是交叉编译工具链。 工具链包括交叉编译器(在当前平台上运行的编译器,但构建要在另一个平台上运行的二进制代码,在您的情况下是AIX),C或C ++库以及其他一些有趣的工具。
我过去成功地使用过buildroot这个工具,它可以自动化创建交叉编译工具链的过程。 我知道他们支持几个目标平台,也许AIX也在其中。
如果您想手动编译工具链,请查看此页面上的Roll-your-own部分。 另一种方法,可能更适合您的情况,是在Ubuntu上安装AIX系统的虚拟机。 这样,您将可以访问在您的计算机内运行的完整AIX系统,从而有机会在真实环境下开发和测试应用程序(或者您可能会发现进行此类操作很有趣)。

1
尝试使用 -maix32 或 -maux64 进行编译(例如 g++ -m32 file.cxx),如果不起作用,则意味着您的编译器不支持。

1

您需要下载适用于POWER或者您正在运行的AIX的正确版本的g++,并将其编译以在Ubuntu下运行。


你还需要确保包含各种运行时库,除非你想静态构建一切并且看着可执行文件大小急剧增长。 - San Jacinto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接