- 论坛徽章:
- 0
|
本帖最后由 bijianing 于 2011-12-24 16:43 编辑
文件有3个- [bjn@ggjd init-global-var]$ ls
- f1.c head.h head.h.bk main.c Makefile
- [bjn@ggjd init-global-var]$ cat f1.c
- #include "head.h"
- int fun1()
- {
- return gvar;
- }
- [bjn@ggjd init-global-var]$ cat head.h
- int gvar = 0;
- [bjn@ggjd init-global-var]$ cat main.c
- #include <stdio.h>
- #include "head.h"
- int main(int argc, char *argv[])
- {
- printf("global var: %d\n", gvar);
- printf("fun1: %d\n", gvar);
- }
- [bjn@ggjd init-global-var]$ gcc -g main.c f1.c -o main
- /tmp/cck46L4Q.o: In function `fun1':
- /home/bjn/test/init-global-var/f1.c:5: multiple definition of `gvar'
- /tmp/ccZ9YSnD.o:/home/bjn/test/init-global-var/main.c:5: first defined here
- collect2: ld returned 1 exit status
- make: *** [main] Error 1
复制代码 学c语言不是一天两天了,但是我不能理解这个错误,哪位知道的还请赐教。。。。 |
|