error C2065: '_Module' : undeclared identifier
error C2228: left of '.Lock' must have class/struct/union type
这个问题可能不只是我一个人遇到过,因为我百度了一下,从02年到08年都有人问这个问题,并且,今天,我也遇到了这个问题!
刚刚看到这个错误,我很烦,我觉得这不是倒得sdk中的文件吗,怎么还会出错呢,这不是坑人吗?
细细一想,肯定是自己哪里弄错了,于是乎,开始看文档,发现_Module在例子程序中定义的一个宏,是用户定义的,这下就知道解决方法了:
#include<atlbase.h>
extern CComModule _Module;
#include<sapi.h>
#include<sphelper.h>
#include<spuihelp.h>
#include<atlcom.h>
这样申明头文件就不会有错误了,即#include<atlbase.h>必须在extern CComModule _Module;之前,并且#include<atlcom.h>在之后,一个小小的问题,也是一个小小的教训,记住,改正,成长,成功!