gcc编译报错
A. gcc编译出现错误怎么办
有时候我们编译一个大的项目的时候,会出现很多错误使得屏幕堆满了很多无用的信息。一般情况下我们需要找到首次出现错误的地方,在gcc中添加编译选项可以使编译停止在第一次出现错误的地方:
$ gcc -Wfatal-errors foo.c // GCC 4.0 and later$ g++ -Wfatal-errors foo.cpp
$ g++ -fmax-errors=N foo.cpp // 在出现第 N 此错误的时候停止编译,GCC 4.6 and later
B. C语言 gcc错误
gcc编译的时候,如果设置了-c, 说明只编译不链接。
这时如果指定-o target的话,那么就只能编译一个文件。
比如
gcc -c a.c -o a.o
而如果指定编译多个文件就只能
gcc -c a.c b.c c.c
这时会自动生成a.o b.o c.o
但是如果-c 多个源文件,然后-o就会出现你说的这个错误。比如
gcc -c a.c b.c c.c -o a.o
gcc没法在不做连接的情况下,把三个c文件编译成一个.o文件。
所以,改一下你的编译参数,去掉-c 或者去掉-o
C. 为什么使用GCC编译器老是错误❌
是你的代码写错了,不是gcc的错
1.你的main函数要么只带2个参数,要么不带参数,你写的是带1个int参数,把int main(int xxx)的int xxx删去
2.char string ca[]是什么玩意??char就是char,string就是string,char string这种东西就跟写double int,vector map一样,根本不符合语法。我猜你可能是想写一个char数组,所以把string去掉即可
D. 关于gcc编译器,在控制台写*.cpp编译多个cpp会报错
根据报错信息,是因为“g++ -c *.cpp”这条指令的通配符串“*.cpp”没有展开所致。
根据验证,当执行“g++ -c *.cpp”这条指令时,当前目录比如testcomb下没有后缀名为cpp的文件,“*.cpp”就不会展开,就会报错。
---
如上图所示,当前目录下没有.c文件,报错与问题中的一致。
E. gcc 编译失败
用带-w选项的gcc即可关闭警告,例如: gcc -w a.c 极不推荐这么做,会让你养成非常不好的编码习惯 ********************************************* 程序不完整,GCC是对ANSI C遵循最严格的编译器,这样随意的代码当然无法编译,修改如下: #include <stdio.h> /*注意这里*/ int main(void) /*注意这里*/ { int a,b; for (a=1;a<=100;a++) { for (b=2;b<=a;b++) { if((a%b)==0) { if(a==b) printf ("%d \n",a); else break; } } } return 0; /*注意这里*/ }