我在stdafx.h里定义了全局变量int num;
索性我在所有的.h和.cpp文件里都加入了外部变量声明extern int num;
可是编译时总提示这种错误:
Linking...
MyDoc.obj : error LNK2005: "unsigned int Num" (?Num@@3IA) already defined in ConfigDlg.obj
MyView.obj : error LNK2005: "unsigned int Num" (?Num@@3IA) already defined in ConfigDlg.obj
StdAfx.obj : error LNK2005: "unsigned int NumO" (?Num@@3IA) already defined in ConfigDlg.obj
Debug/My.exe : fatal error LNK1169: one or more multiply defined symbols found
执行 link.exe 时出错.实在不明白了,高手指教阿`~
索性我在所有的.h和.cpp文件里都加入了外部变量声明extern int num;
可是编译时总提示这种错误:
Linking...
MyDoc.obj : error LNK2005: "unsigned int Num" (?Num@@3IA) already defined in ConfigDlg.obj
MyView.obj : error LNK2005: "unsigned int Num" (?Num@@3IA) already defined in ConfigDlg.obj
StdAfx.obj : error LNK2005: "unsigned int NumO" (?Num@@3IA) already defined in ConfigDlg.obj
Debug/My.exe : fatal error LNK1169: one or more multiply defined symbols found
执行 link.exe 时出错.实在不明白了,高手指教阿`~
#define abcdefgint num;;#endif
在其他文件下对这个外部变量声明时,用的extern int num;
还是不解阿
定义成static编译通过了。可是问什么呢?
extern int num;然后在一个cpp里面int num就可以了错误因为stdafx.h被包了多次,但是楼主在stdafx.h内加了全局定义,于是定义重复了,除非只包一次stdafx.h
我是不是该找出一个文件,没有被其他文件include 过呢/?
总感觉怪怪的阿
定义num部分放在自己的cpp里面.