将项目从VC6转到vs2008时发现了这个错误error C2065: 'CArchiveStream' : undeclared identifier。
先是根据网上提供的解决方案,在cpp文件中添加以下代码:
#include <afxpriv.h>
#include <afxpriv2.h>
编译后,仍旧是报原来的错误。
转到头文件<afxpriv2.h>里一看,发现由于未定义宏__AFXDISP_H__,导致一系列关于CArchiveStream的定义无效。
关于这个问题,只要在StdAfx.h中加入以下代码:
#ifndef _AFX_NO_OLE_SUPPORT
#include <afxdtctl.h>
#endif
重新编译。Ok,编译通过,大功告成。