是否有可能为Linux上的许多架构编译c?

时间:2015-02-24 18:19:23

标签: c linux compilation

我正在我的电脑上开发一些程序,运行Ubuntu 64bit。

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

2 个答案:

答案 0 :(得分:1)

通常,您需要为编译器提供类似于目标执行环境的环境。根据一个环境与另一个环境的相似或不同,这可能很简单或复杂。

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

由于您只是在64位主机上编译x86,因此通常很简单。我建议设置一个可用于编译的专用环境 - 通常是某种chroot(参见 pbuilder schroot chroot debootstrap 等等。

答案 1 :(得分:0)

有一些编译器设置/标志可以让你在你的机器上执行此操作;你需要哪些特定的将取决于你正在使用的编译器。