我试图用这个命令gcc -Wall -m32 -std=gnu99 -o <filename> <filename>编译C代码
我没有得到输出文件,而是得到了这个。
/usr/bin/ld: cannot find Scrt1.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/7/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/7/libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: cannot find libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/7/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
collect2: error: ld returned 1 exit status使用-std=c11编译非常好,但使用-std=gnu99编译就不行了。
发布于 2019-02-07 19:04:37
基本上,这意味着您的系统上没有32位的支持,只有64位。
与main.c
/* extern void start(); */
int main()
{
/* start(); */
}和
gcc -m32 main.c -o main我上了一辆ubuntu 18.04,只安装了gcc:
> ~/PROJECT2/ciforthcvs$ gcc -m32 main.c -o main /usr/bin/ld: cannot
> find Scrt1.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/7/libgcc.a when searching for -lgcc
> /usr/bin/ld: cannot find -lgcc /usr/bin/ld: skipping incompatible
> /usr/lib/gcc/x86_64-linux-gnu/7/libgcc.a when searching for -lgcc
> /usr/bin/ld: cannot find -lgcc collect2: error: ld returned 1 exit
> status之后
su
# apt install multi-lib一切顺利,我可以运行我的“无所事事”计划。
发布于 2017-11-12 04:35:24
尝试:
find / -iname='*Scrit1.o*' 2>/dev/null
find / -iname='*criti.o*' 2>/dev/null修改gcc命令以读取
gcc -Wall -m32 -std=gnu99 -o <filename> <filename> /some-path/Scrit1.o /some-other-path/criti.ohttps://askubuntu.com/questions/975609
复制相似问题