gcc无法在64位RHEL6中构建32位程序?

时间:2013-07-15 05:37:23

标签: gcc build 32-bit

我已从源代码安装gcc-4.6.2,但它无法构建32位程序,似乎没有32位lib。 gcc的错误报告:

/usr/local/gcc-4.6.2/lib/gcc/x86_64-redhat-linux/4.6.2/crtbegin.o: could not read symbols: File in wrong format

my gcc-4.6.2配置为:

Target: x86_64-redhat-linux
Configured with: ../gcc-4.6.2/configure --prefix=/usr/local/gcc-4.6.2 --mandir=/usr/share/man --infodir=/usr/share/info --enable-bootstrap --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --enable-languages=c,c++ --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-1.0.1 --without-ppl --without-cloog --with-arch-32=i686 --build=x86_64-redhat-linux --disable-multilib

Thread model: posix

1 个答案:

答案 0 :(得分:1)

使用以下命令配置和构建gcc:

--enable-multilib --with-multilib-list=m32,m64

安装后,可以通过将“-m32”选项传递给gcc来编译32位。请注意,您还需要32位版本的所有需要​​的库(如glibc。)