尝试在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
指定时,似乎仍在错误的目录中搜索-m32
。
libgcc-4.8-dev:i386
已安装,并且我已验证32位库位于中/usr/lib/gcc/i686-linux-gnu/4.8/
。
我试过设置和导出LD_INCLUDE_PATH
,LD_LIBRARY_PATH
但无济于事。
相关:如何在64位Linux版本上使用gcc编译32位应用程序
—
kenorb