产生原因:多文件包含时,全局变量未用extern
解决方法:直接在全局变量前加上extern即可,若要在在其他文件中使用,该变量声明下就ok了~~
另外引出一个话题,你是不是也发现了这么一个现象??
比如
A.h
A.cpp
#include "A.h"
#include "B.h"HWND ui_hwnd, hwnd;
int main(int argc, char *argv[])
{
ui_hwnd = hwnd;
return 0;
}
B.h
B.cpp
#include "B.h"ui_hwnd = NULL;
为什么在B.cpp中却不需要声明ui_hwnd呢???
我个人猜测是B.h能识别B.cpp,而不能识别A.cpp(虽然都包含了B.h)~~~
转载请注明出处:http://www.cnblogs.com/Susake/p/3721883.html
【error LNK2005: "struct HWND__ * ui_hwnd"
([email protected]@[email protected]@A) 已经在 Susake.obj 中定义】
时间: 2024-12-29 23:21:31