level 3
竹伞😳微倾
楼主
makefile如下:
hello : hello.c a.c
gcc -o hello hello.c fun.c
hello.o : hello.c
gcc -o hello.o -c hello.c
a.o : a.c
gcc -o a.o -c a.c
hello.c如下:
# include <stdio.h>
# include "a.c"
extern void fun(void);
int main(void)
{
printf("Hello World!\n");
fun();
}
a.c如下:
void fun(void)
{
printf("Hello ARM!\n");
}
然后make,提示fun函数多次定义(multiple definition of 'fun')
,注释掉# include "a.c",就好了,直接gcc -o hello hello.c a.c没问题,求大神指导,为什么啊
2014年04月29日 10点04分
1
hello : hello.c a.c
gcc -o hello hello.c fun.c
hello.o : hello.c
gcc -o hello.o -c hello.c
a.o : a.c
gcc -o a.o -c a.c
hello.c如下:
# include <stdio.h>
# include "a.c"
extern void fun(void);
int main(void)
{
printf("Hello World!\n");
fun();
}
a.c如下:
void fun(void)
{
printf("Hello ARM!\n");
}
然后make,提示fun函数多次定义(multiple definition of 'fun')
,注释掉# include "a.c",就好了,直接gcc -o hello hello.c a.c没问题,求大神指导,为什么啊