From: Microsoft communities on
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
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
"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
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
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
 |  Next  |  Last
Pages: 1 2
Prev: Types in template functions.
Next: Unicode question