开发者

VS 2008 atlcom.h ClassesAllowedInStream not defined (cannot convert parameter)

I am trying to build a project in VC++2008 and it is giving the following error:

error C2664: 'HRESULT ATL::CComVariant::ReadFromStream
(IStream *,VARTYPE,ATL::ClassesAllowedInStream,DWORD)' :
cannot convert parameter 3 from 'const int' to 'ATL::ClassesAllowedInStream'
c:\program files (x8开发者_如何学JAVA6)\microsoft visual studio 9.0\vc\atlmfc\include\atlcom.h
6054

Can anyone help?


This is an error that stems from a bug in the VS2008 Service Pack 1 installation. I had the same problem.

A workaround for me was to reinstall VS 2008 (setup option "repair/clean new install") and then immediately install SP1.

The bug occurs if a Windows SDK is installed between the installation of VS2008 and SP1. In this case, the VS2008 SP1 installation updates the file atlcom.h, but fails to update its included file atlcomcli.h accordingly, thus ClassesAllowedInStream is undefined.

See the discussions on MSDN Social and in this mailing list.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜