如何在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.
-
确保已完全安装所有32位gcc 4.8开发工具:
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