编译 C++ Ubuntu 上 AIX 的代码?
一句话问题:如何在 Ubuntu 上使用 G++ 编译 AIX 代码? (假设有可能)
我希望这就像在 make 文件中添加一个选项来指定目标处理器一样简单。对于大多数与编译器相关的事情,我都是新手。
先感谢您。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您正在寻找的是交叉编译工具链。
工具链包括交叉编译器(在当前平台上运行的编译器,但构建二进制代码以在另一个平台上运行,在您的情况下为 AIX)、C 或 C++ 库以及其他一些有趣的工具。
我过去曾成功使用 buildroot ,这是一个自动创建交叉编译过程的工具工具链。我知道他们支持多个目标平台,也许 AIX 就是其中之一。
如果您想手动编译工具链,请查看 Roll-your-own 部分rel="nofollow noreferrer">此页面。
另一种方法(对于您的情况可能更简单)是在 Ubuntu 上的虚拟机内安装 AIX 系统。这样,您就可以访问在您的计算机内运行的完整 AIX 系统,从而有机会在实际条件下(或者您可能觉得这样做有趣的任何原因)开发和测试您的应用程序。
What you are looking for is a cross-compiling toolchain.
A toolchain includes a cross-compiler (a compiler that runs on the current platform but builds the binary code to run on another, on your case, AIX), the C or C++ library, and some other interesting tools.
I have successfully used buildroot in the past, which is a tool that automates the process of creating a cross-compiling toolchain. I know they support several target platforms, maybe AIX is among them.
If you want to compile your toolchain by hand, take a look at the Roll-your-own section on this page.
Another approach, probably easier on your case, would be to install a AIX system inside a virtual machine on Ubuntu. This way you would have access to a complete AIX system running inside your machine, giving the opportunity to develop and test your application under real conditions (or whatever reasons you may find interesting for doing such a thing).
尝试使用 -maix32 或 -maux64 (如 g++ -m32 file.cxx)进行编译,如果它不起作用,则意味着您的编译器不支持它。
Try to compile with -maix32 or -maux64 (like g++ -m32 file.cxx), it it doesn't work it means that it's not supported by your compiller.
您需要下载正确版本的 g++(即,为 POWER 或运行 AIX 的任何内容生成代码的版本),并将其编译为在 Ubuntu 下运行。
You'll want to download the right version of g++ (i.e., one that generates code for POWER, or whatever you're running AIX on), and compile that to run under Ubuntu.