那位大虾帮解释下 编译的问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 00:40:58
在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一次(没变化)就没错误了。。

没可用分 大家将就点吧。

你用“#ifdefine”来检验是不是已经定义过了
在VC中很多定义的地方都用到了“#if”“#elseif”“#else”“endif”的语句就是防止同一个变量多次宏定义等
也好像不是什么程序的问题,你把编译生成的Debug文件删除了,再次编译应该就行了。