C++中全局变量报错error LNK2005

我在CoreFunc.h中定义了一个全局变量int AUTOCOLLECTION;需要在CoreFunc.cpp中函数使用
在MainDialogWnd.cpp中#include "CoreFunc.h",就报错error LNK2005,从网上百度了一些方法还是不行
全局变量的声明与使用该怎么弄呢

3>MFC_DLL.obj : error LNK2005: "int AUTOCOLLECTION" (?AUTOCOLLECTION@@3HA) 已经在 MainDialogWnd.obj 中定义
3>GameData.lib(CoreFunc.obj) : error LNK2005: "int AUTOCOLLECTION" (?AUTOCOLLECTION@@3HA) 已经在 MainDialogWnd.obj 中定义
3> 正在创建库 ..\bin\MFC_DLL.lib 和对象 ..\bin\MFC_DLL.exp
3>..\bin\MFC_DLL.dll : fatal error LNK1169: 找到一个或多个多重定义的符号

在cpp中用extern申明全局变量

把这个变量定义成宏啊,这样写:#define AUTOCOLLECTION “数据”
例如:#define MAX 100

在头文件里使用extern声明外部变量

extern int AUTOCOLLECTION;

在其中一个cpp文件里定义该变量

int AUTOCOLLECTION = 0;