我试图在x86_64 ubuntu 12.04机器上为32位目标编译应用程序。
我使用安装了必需的软件包

sudo apt-get install gcc-multilib g++-multilib libc6-i386 libc6-dev-i386

第一条命令可生成32位版本。但是,第二条命令出错
1. g++ -m32 hello.c

2. gcc -m32 hello.c
skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s

任何人都可以向我解释为什么gcc无法正常工作。我缺少一些图书馆吗?

谢谢!

最佳答案

我将我的g++升级到4.8,而g++ -m32也停止了工作。安装g++-4.8-multilib使-m32选项可同时用于gcc和g++。

09-09 23:58