今日使用vc 2010 ATL 部署个windwos NT Service, 把逻辑功能类添加到工程后 怎么都报error C2065: “CString”: 未声明的标识符;当然已经包含了头文件 <atlstr.h> 仍然报错.
如图:
后发现 stdafx.h 头文件中 有一宏:
#define _ATL_NO_AUTOMATIC_NAMESPACE
一看这玩意就不是好东西.
修正方案1:
如果源文件中有过多的CString 声明 应注释掉此宏;
修正方案2:
如果源文件中有较少的CString 声明 应更改CString声明为:ATL::CString;