[已解决]64位opensuse下编译32位helloworld的问题

文件很简单,就是 helloworld,编译命令如下
编译 64 位版本的 helloworld 没问题
gcc -m64 -o h h.c
编译 32 位版本的出现问题了
gcc -m32 -o h h.c
/usr/lib64/gcc/x86_64-suse-linux/4.8/…/…/…/…/x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.8/libgcc.a when searching for -lgcc
/usr/lib64/gcc/x86_64-suse-linux/4.8/…/…/…/…/x86_64-suse-linux/bin/ld: cannot find -lgcc
/usr/lib64/gcc/x86_64-suse-linux/4.8/…/…/…/…/x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.8/libgcc_s.so when searching for -lgcc_s
/usr/lib64/gcc/x86_64-suse-linux/4.8/…/…/…/…/x86_64-suse-linux/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status

据我猜测应该是 lib 目录找错了,他 link 了 64 位的 lib 文件,我是新手,这个不知道应该怎么样修改才能完美兼容两种编译方式了。
把 windows 删了换 linux 用有好多都不熟悉 :nauseated_face:

gcc-32bit。同理 libgcc_s 之类的也要 32bit

从我的 iPhone 发送,使用 Tapatalk

1赞

感谢大牛,后来把 32bit 的 gcc 也装上了后,就编译成功了!!!