码迷,mamicode.com
首页 > 其他好文 > 详细

【error LNK2005: "struct HWND__ * ui_hwnd" (?ui_hwnd@@3PAUHWND__@@A) 已经在 Susake.obj 中定义】

时间:2014-05-11 17:25:39      阅读:526      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   ext   

产生原因:多文件包含时,全局变量未用extern

解决方法:直接在全局变量前加上extern即可,若要在在其他文件中使用,该变量声明下就ok了~~

另外引出一个话题,你是不是也发现了这么一个现象??

比如

A.h

A.cpp

bubuko.com,布布扣
#include "A.h"
#include "B.h"

HWND ui_hwnd, hwnd;

int main(int argc, char *argv[])
{
     ui_hwnd = hwnd;
     return 0;   
}    
bubuko.com,布布扣

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" (?ui_hwnd@@3PAUHWND__@@A) 已经在 Susake.obj 中定义】,布布扣,bubuko.com

【error LNK2005: "struct HWND__ * ui_hwnd" (?ui_hwnd@@3PAUHWND__@@A) 已经在 Susake.obj 中定义】

标签:style   blog   class   code   java   ext   

原文地址:http://www.cnblogs.com/Susake/p/3721883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!