我定义了一个特殊文件:config.h
我的项目也有文件:
t.c, t.h
pp.c, pp.h
b.c b.h
l.cpp
和#包括:
在 tc 中:
#include "t.h"
#include "b.h"
#include "pp.h"
#include "config.h"
在公元前:
#include "b.h"
#include "pp.h"
在pp.c中:
#include "pp.h"
#include "config.h"
在 l.cpp 中:
#include "pp.h"
#include "t.h"
#include "config.h"
我的文件中没有包含指令*.h
,只有*.c
文件中。我在 config.h 中定义了这个:
const char *names[i] =
{
"brian", "stefan", "steve"
};
并需要 l.cpp、tc、pp.c 中的该数组,但我收到此错误:
pp.o:(.data+0x0): multiple definition of `names'
l.o:(.data+0x0): first defined here
t.o:(.data+0x0): multiple definition of `names'
l.o:(.data+0x0): first defined here
collect2: ld returned 1 exit status
make: *** [link] Error 1
*.h
我在项目中使用的每个文件中都包含了警卫。任何帮助解决这个问题?