我在 64 位机器上使用 ubuntu 12.04,我有这个简单的 C 代码:
int b = 20;
int c = 10;
int main(int argc, char **argv) {
c = 50;
}
我试图通过像这样编译它使其与任何 IA32 机器兼容:
unix> gcc -m32 code.c
并得到这些错误:
/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/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.6/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: cannot find -lc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/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.6/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: cannot find crtn.o: No such file or directory
collect2: ld returned 1 exit status
据我了解,发生这种情况是因为我缺少 32 位标准 C 库,因此链接器无法将我的代码与标准 C 库链接。
如何在我的 64 位机器上获得所需的 32 标准 C?