64位的GCC 编译32位程序

64位的GCC 编译32位程序

编译32的程序,只需要加上-m32就可以了

gcc -m32 llong.c

但是提示下面的错误

/usr/bin/ld: 当搜索用于 /usr/lib/gcc/x86_64-linux-gnu/5/libgcc.a 时跳过不兼容的 -lgcc
/usr/bin/ld: 找不到 -lgcc
/usr/bin/ld: 当搜索用于 /usr/lib/gcc/x86_64-linux-gnu/5/libgcc_s.so 时跳过不兼容的 -lgcc_s
/usr/bin/ld: 找不到 -lgcc_s
collect2: error: ld returned 1 exit status

安装下适配库就可以了

sudo apt-get install gcc-multilib g++-multilib module-assistant

用file查看下

#gcc -m32 llong.c
#file a.out 
a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=99473b248045d698bd44018a6ef7b6a067ce1bf1, not stripped

引用

http://blog.csdn.net/x356982611/article/details/79056089
https://linux.die.net/man/1/gcc

你可能感兴趣的:(C++,C)