2015-02-24 51 views
0

我在我的电脑上开发了一些运行Ubuntu 64位的程序。是否有可能在linux上为许多体系结构编译c?

我想在另一台运行32位的PC上运行这些应用程序。可以在我的机器上进行编译还是需要在另一台计算机上重新编译应用程序?

+1

是的。你甚至可以编译在你的智能手机上运行的程序,甚至可以在微波炉上运行(如果它足够聪明的话)。它被称为“交叉编译”。 – 2015-02-24 18:27:21

回答

0

有编译器设置/标志,应该允许您在您的机器上执行此操作;哪些具体的你需要取决于你使用的编译器。

1

一般而言,您需要为编译器提供一个类似于目标执行环境的环境。取决于一个环境对另一个环境的相似或不同,这可能是简单的或复杂的。

假设编译器是GCC,您只需要将-m32添加到您的编译标志以使它们在32位系统上工作;假设所有其他事物是平等的。确保您的系统上安装了必需的32位依赖项(这意味着基本的C库依赖项以及应用程序链接的每个库的32位版本)。

由于您只是在64位主机上为x86编译,所以通常很简单。我会建议但设立专门的环境,你可以用它来编译 - 通常是某种chroot(见pbuilderschroot的chroot的debootstrap等)。

相关问题