如何在 64 位 Ubuntu 上编译 32 位应用程序?

如何在 64 位 Ubuntu 上编译 32 位应用程序?

问题描述:

我正在尝试使用 gcc 4.8 在 Ubuntu Server 12.04 LTS 64 位上编译 32 位 C 应用程序.我收到有关不兼容库和 skiping -lgcc 的链接器错误消息.我需要做什么才能编译和链接 32 位应用程序?

I'm trying to compile a 32-bit C application on Ubuntu Server 12.04 LTS 64-bit using gcc 4.8. I'm getting linker error messages about incompatible libraries and skipping -lgcc. What do I need to do to get 32 bit apps compiled and linked?

要让 Ubuntu Server 12.04 LTS 64 位编译 gcc 4.8 32 位程序,您需要做两件事.

To get Ubuntu Server 12.04 LTS 64-bit to compile gcc 4.8 32-bit programs, you'll need to do two things.

  1. 确保所有 32 位 gcc 4.8 开发工具都已完全安装:

  1. Make sure all the 32-bit gcc 4.8 development tools are completely installed:

sudo apt-get install lib32gcc-4.8-dev

使用 -m32 标志编译程序

Compile programs using the -m32 flag

gcc pgm.c -m32 -o pgm