我正在我的电脑上开发一些程序,运行ubuntu64位。
我想在另一台运行32的pc上运行这些应用程序。可以在我的机器上编译,还是需要在另一台机器上重新编译应用程序?
最佳答案
一般来说,您需要为编译器提供一个类似于目标执行环境的环境。根据一个环境与另一个环境的相似或不同程度,这可能是简单或复杂的。
假设编译器是GCC,则只需向编译标志添加-m32
即可使它们在32位系统上工作;假设所有其他条件都相同。确保在系统上安装了必需的32位依赖项(这意味着基本C库依赖项以及应用程序链接所针对的每个库的32位版本)。
因为您只在64位主机上为x86编译,所以路径通常很简单。不过,我建议您设置一个可以用来编译的专用环境——通常是某种chroot
(请参阅pbuilder、schroot、chroot、debootstrap和其他)。
关于c - 是否可以在Linux上为许多体系结构编译c?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28703309/