我试图在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++。