.h文件中的变量定义解决思路

.h文件中的变量定义
最近一个工程中,最后出现了一大堆的link2005错误,仔细检查,自己在每个.h文件中也都加入了防止重复编译的东西。。。。。
没办法,就又建立了一个demo工程,逐步逐个往工程中添加文件,采用逐渐增加的模式复原工程,每添加一个文件,就编译一次。最终发现错误是因为此而发生的:
有一个.h文件中,首先定义了一些变量,然后又定义了一个类,编译的时候,这些变量统统出现了LNK2005错误,若将这些量删除,只定义这个类,则可以编译通过。(这个.h文件时通过"添加类。。。"这个菜单项添加的,vs2005环境)

为什么这样也会出错呢?请教!
------解决方案--------------------
引用:
这个.h文件时通过"添加类。。。"这个菜单项添加的,vs2005环境)


这个.h文件中的变量是通过什么方式添加的?
------解决方案--------------------
变量的定义要放在 .cpp 中, .h中只能声明变量,否则工程中多个文件包含这个 .h 文件,会有变量的多处定义.
------解决方案--------------------
变量的定义要放在 .cpp 中,如int a;
.h中声明变量,如extern int a;

另外,2楼的渐变字体是咋个弄的?很炫啊
------解决方案--------------------
link出错,你却去找重复包涵之错,不会吧?编译连接是分阶段的,你在这个阶段去找那个阶段的错误!

明显是你的全局变量没有实现,只申明了。实现需要写在cpp里面。
------解决方案--------------------
重复定义的错误吧,在cpp中定义你的变量,h头文件中申明即可。