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

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

问题描述:

我正在尝试使用gcc 4.8在Ubuntu Server 12.04 LTS 64位上编译32位C应用程序。我收到有关不兼容库和跳过-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?

要获取64位Ubuntu Server 12.04 LTS来编译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