现象:
今天在使用MFC进行编程时,出了一个错误:
错误 440 error LNK2005: “void * hEvent_Cconn” (?hEvent_Cconn@@3PEAXEA) 已经在 CSProtocal.obj 中定义
原因:
没有在声明hEvent_Cconn对应的头文件对应的源文件中进行定义。
我的是在globalval.h中进行的声明 extern HANDLE hEvent_Cconn;//创建客户端连接句柄
因此需要在globalval.cpp中进行定义 HANDLE hEvent_Cconn;//创建客户端连接句柄
.h文件和.cpp文件的区别
在h文件中声明(Declare),而在cpp文件中定义(Define)。
h文件中包含声明、条件预编译指令以及类的定义
cpp文件中进行全局变量的定义(及初始化)、全局函数的定义、类函数成员的定义、类带static限定符的数据成员的初始化
作者:GL3_24
来源:CSDN
著作权归作者所有。转载请联系作者获得授权。