【发布时间】:2011-04-04 22:08:30
【问题描述】:
一句话问:如何在Ubuntu上使用G++编译AIX代码? (假设有可能)
我希望它就像在 make 文件中添加一个选项来指定目标处理器一样简单。对于大多数与编译器相关的事情,我都是新手。
提前谢谢你。
【问题讨论】:
-
构建交叉编译工具链不适合胆小的人。您需要从源代码构建 gcc(一开始并不简单),然后按照详细说明使其成为交叉编译器。
一句话问:如何在Ubuntu上使用G++编译AIX代码? (假设有可能)
我希望它就像在 make 文件中添加一个选项来指定目标处理器一样简单。对于大多数与编译器相关的事情,我都是新手。
提前谢谢你。
【问题讨论】:
尝试使用 -maix32 或 -maux64 编译(如 g++ -m32 file.cxx),它不起作用,这意味着它不受您的编译器支持。
【讨论】:
您正在寻找的是交叉编译工具链。
工具链包括交叉编译器(在当前平台上运行但构建二进制代码以在另一个平台上运行的编译器,在您的情况下,AIX)、C 或 C++ 库以及其他一些有趣的工具。
我过去曾成功使用过buildroot,这是一个自动化创建交叉编译工具链过程的工具。我知道它们支持多个目标平台,也许 AIX 就是其中之一。
如果您想手动编译您的工具链,请查看this page 上的 Roll-your-own 部分。
另一种方法,在您的情况下可能更容易,是在 Ubuntu 上的虚拟机中安装 AIX 系统。通过这种方式,您可以访问在您的机器中运行的完整 AIX 系统,从而有机会在真实条件下(或您可能感兴趣的任何原因)开发和测试您的应用程序。
【讨论】:
您需要下载正确版本的 g++(即,为 POWER 生成代码的版本,或者您正在运行 AIX 的任何版本),然后编译它以在 Ubuntu 下运行。
【讨论】: