尝试在 64 位系统上编译即使是最简单的 ( int main(){}) 程序也会-m32失败:
$ gcc -m32 test.c
/usr/bin/ld: 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
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
-m32指定时似乎仍然在错误的目录中错误地搜索。
libgcc-4.8-dev:i386已安装,并且我已验证 32 位库位于/usr/lib/gcc/i686-linux-gnu/4.8/.
我试过设置和导出LD_INCLUDE_PATH,LD_LIBRARY_PATH但无济于事。