新手求解
有3个.c文件盒一个.h文件。
A.c:
#include <stdio>
int a(int n){
int m=n+1;
return m;
}
B.c:
#include <stdio.h>
int b(int n){
int m=n-1;
return m;
}
D.h:
extern int a(int n);
extern int b(int n);
C.c:
#include <stdio.h>
//#include "D.h"
extern int a(int n);
extern int b(int n);
int main(){
//extern int a(int n);
//extern int b(int n);
int n=9,m=0;
int x=0,y=0;
x=a(n);
y=b(n);
m=x+y;
printf("%d\n",m);
return 0;
}
在linux下使用GCC编译:gcc -o c C.c,然后报错,说找不到外部方法,报错信息如下:
/tmp/cctTsW7G.o: In function `main':
C.c:(.text+0x31): undefined reference to `a'
C.c:(.text+0x41): undefined reference to `b'
我试过把申明写在 main()里面和外面,都报这个错。
请大神详解,解的精彩,给全分。