在StdAfx.h中定义了一个类,并声明了一个全局变量。在MainView.cpp中 extern该变量 并使用了它。
ReildAll出现以下错误
StdAfx.obj : error LNK2005: "class _MyCout MyCout" (?MyCout@@3V_MyCout@@A) already defined in MainView.obj
Debug/XXa.exe : fatal error LNK1169: one or more multiply defined symbols found
将MainView.cpp中把使用该变量的地方注释掉
F7没错误
将上面说说的注释符删掉 也就是说回到原来的样子
F7一个错误
MainView.obj : error LNK2005: "class _MyCout MyCout" (?MyCout@@3V_MyCout@@A) already defined in StdAfx.obj
再F7一次(没变化)就没错误了。。没可用分 大家将就点吧。
ReildAll出现以下错误
StdAfx.obj : error LNK2005: "class _MyCout MyCout" (?MyCout@@3V_MyCout@@A) already defined in MainView.obj
Debug/XXa.exe : fatal error LNK1169: one or more multiply defined symbols found
将MainView.cpp中把使用该变量的地方注释掉
F7没错误
将上面说说的注释符删掉 也就是说回到原来的样子
F7一个错误
MainView.obj : error LNK2005: "class _MyCout MyCout" (?MyCout@@3V_MyCout@@A) already defined in StdAfx.obj
再F7一次(没变化)就没错误了。。没可用分 大家将就点吧。
全局变量一般声明在h中,定义在cpp中,这样可以避免这种情况。 还有h文件要加上预编译guard
StdAfx.obj : error LNK2005: "class _MyCout MyCout" (?MyCout@@3V_MyCout@@A) already defined in MainView.obj 意思你重复定义了,再仔细看看
等 级:
发表于:2007-12-22 11:06:49 5 楼 得分:
你是不是既extern又引用了该头文件?
是啊。。我把定义变量放在了stdafx.cpp中就没错了