Prev: Types in template functions.
Next: Unicode question
From: Microsoft communities on 14 Dec 2009 12:42 With my shiny new 64bit Windows 7 machine: 1. I install Visual Studio 2008 2. I install SP1 3. I copy across my C++ project 4. I rebuild all. It worked fine on 32 bit Vista but now fails to compile. The offending section is in atlcom.h #if !defined(_ATL_DLL_IMPL) && !defined(_ATL_DLL) ClassesAllowedInStream rgclsidAllowed; DWORD cclsidAllowed; #endif with error: c:\program files (x86)\microsoft visual studio 9.0\vc\atlmfc\include\atlcom.h(431) : error C2146: syntax error : missing ';' before identifier 'rgclsidAllowed' Any ideas what I do about this? Dave -- David Webber Mozart Music Software http://www.mozart.co.uk PS: There is a difference in visual studio installations: In Win7 I have Microsoft Visual C++ 2008 91851-136-0287963-60989 In Vista it is Microsoft Visual C++ 2008 91851-136-0287963-60238 but I don't know if that is significant.
From: Igor Tandetnik on 14 Dec 2009 13:09 Microsoft communities <dave(a)musical-dot-demon-dot-co.uk> wrote: > The offending section is in atlcom.h > > #if !defined(_ATL_DLL_IMPL) && !defined(_ATL_DLL) > ClassesAllowedInStream rgclsidAllowed; > DWORD cclsidAllowed; > #endif http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/ad698507-d62c-4e7b-bb7a-12a03b939594 -- With best wishes, Igor Tandetnik With sufficient thrust, pigs fly just fine. However, this is not necessarily a good idea. It is hard to be sure where they are going to land, and it could be dangerous sitting under them as they fly overhead. -- RFC 1925
From: Giovanni Dicanio on 14 Dec 2009 13:10 "Microsoft communities" <dave(a)musical-dot-demon-dot-co.uk> ha scritto nel messaggio news:#f7UlTOfKHA.5608(a)TK2MSFTNGP05.phx.gbl... > The offending section is in atlcom.h > > #if !defined(_ATL_DLL_IMPL) && !defined(_ATL_DLL) > ClassesAllowedInStream rgclsidAllowed; > DWORD cclsidAllowed; > #endif > > with error: > c:\program files (x86)\microsoft visual studio > 9.0\vc\atlmfc\include\atlcom.h(431) : error C2146: syntax error : missing > ';' before identifier 'rgclsidAllowed' > > Any ideas what I do about this? Dave: could it be possible for you to #include <atlcomcli.h> ? The ClassesAllowedInStream class seems to me defined in <atlcomcli.h>. HTH, Giovanni
From: David Webber on 15 Dec 2009 07:49 From: "Igor Tandetnik" <itandetnik(a)mvps.org> >> The offending section is in atlcom.h >> >> #if !defined(_ATL_DLL_IMPL) && !defined(_ATL_DLL) >> ClassesAllowedInStream rgclsidAllowed; >> DWORD cclsidAllowed; >> #endif > > http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/ad698507-d62c-4e7b-bb7a-12a03b939594 Thanks Igor. This looked very promising but it hasn't worked. The advice, when I found the SDK 6.1, was to install the SDK 7 instead. Which I have done. It is now sitting in C:\Program Files\Microsoft SDKs\Windows\v7.0 (in parallel with v6.0A which was there before). I also found a little tool had been installed to make different versions of the SDK current in Visual Studio. It offered me the choice of these two so I made v7 current. Doing a full rebuild gives me exactly the same error. Any more ideas anyone? This is *incredibly* frustrating. I'm new to 64 bit Windows but I note that in my C:\Program Files (x86)\Microsoft SDKs\Windows\ folder there are v5.0 and v6.0a SDKs, and I am trying to build a 32 bit application. Should the v7 SDK installer have put something there too? Dave -- David Webber Mozart Music Software http://www.mozart.co.uk For discussion and support see http://www.mozart.co.uk/mozartists/mailinglist.htm
From: Igor Tandetnik on 15 Dec 2009 08:11
David Webber wrote: > From: "Igor Tandetnik" <itandetnik(a)mvps.org> > >>> The offending section is in atlcom.h >>> >>> #if !defined(_ATL_DLL_IMPL) && !defined(_ATL_DLL) >>> ClassesAllowedInStream rgclsidAllowed; >>> DWORD cclsidAllowed; >>> #endif >> >> http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/ad698507-d62c-4e7b-bb7a-12a03b939594 > > Thanks Igor. > > This looked very promising but it hasn't worked. > > The advice, when I found the SDK 6.1, was to install the SDK 7 instead. > Which > I have done. The problem is not with the SDK. The problem is that VS 2008 SP1 sometimes fails to update atlcomcli.h (which is not part of the SDK). Apparently, you have to install SP1 _after_ installing SDK (whether 6 or 7). The solution, apparently, is to uninstall everything and then reinstall it carefully in the right order. Note that I didn't personally encounter this problem, nor tried the solution. -- With best wishes, Igor Tandetnik With sufficient thrust, pigs fly just fine. However, this is not necessarily a good idea. It is hard to be sure where they are going to land, and it could be dangerous sitting under them as they fly overhead. -- RFC 1925 |