-m32选项不适用于gcc,但适用于g ++

SAr*_*ora 4 c++ linux compilation

我试图在x86_64 ubuntu 12.04机器上编译32位目标的应用程序.我使用安装了所需的包

sudo apt-get install gcc-multilib g++-multilib libc6-i386 libc6-dev-i386
Run Code Online (Sandbox Code Playgroud)

第一个命令用于生成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
Run Code Online (Sandbox Code Playgroud)

任何人都可以向我解释为什么gcc无法工作.我错过了一些图书馆吗?

谢谢!



SAr*_*ora 9

我将g ++升级到4.8并且g ++ -m32也停止了工作.安装g ++ - 4.8-multilib make -m32选项可以同时使用gcc和g ++.