VS2010--error LNK2005: "void * hThread" (?hThread@@3PAXA) 已经在 kxlTestDLL.obj 中定义

来源:互联网 发布:网络投资骗局 编辑:程序博客网 时间:2024/06/14 10:02
当在Test.h文件中已有
extern HANDLE hThread;
extern HANDLE hEvent;
同时在Test.cpp文件中有
HANDLE hThread;
HANDLE hEvent;

如果dllmain.cpp中同时包含了Test.cpp文件则会出现以下错误:

1>------ 已启动生成: 项目: kxlTestDLL, 配置: Debug Win32 ------
1>  dllmain.cpp
1>dllmain.obj : error LNK2005: "void * hThread" (?hThread@@3PAXA) 已经在 kxlTestDLL.obj 中定义
1>dllmain.obj : error LNK2005: "void * hEvent" (?hEvent@@3PAXA) 已经在 kxlTestDLL.obj 中定义
1>E:\COPERATOR_DLL\kxlTestDLL\Debug\kxlTestDLL.dll : fatal error LNK1169: 找到一个或多个多重定义的符号
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

解决办法:查看是否在stdafx.h和dllmain.cpp中包含了不必要的.cpp文件,删除即可。
0 0
原创粉丝点击