Discussion:
Visual Studio 2008 on Windows 7
(too old to reply)
Microsoft communities
2009-12-14 17:42:54 UTC
Permalink
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.
Igor Tandetnik
2009-12-14 18:09:21 UTC
Permalink
Post by Microsoft communities
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
David Webber
2009-12-15 12:49:38 UTC
Permalink
Post by Igor Tandetnik
Post by Microsoft communities
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
Igor Tandetnik
2009-12-15 13:11:29 UTC
Permalink
Post by David Webber
Post by Igor Tandetnik
Post by Microsoft communities
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
David Webber
2009-12-15 17:15:26 UTC
Permalink
Post by Igor Tandetnik
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.
Thanks again - have left SDK7 there, uninstalled Visual Studio 2008,
reinstalled it, reinstalled SP1 and everything seems to be working. Wish I
knew why!

Dave
--
David Webber
Mozart Music Software
http://www.mozart.co.uk
For discussion and support see
http://www.mozart.co.uk/mozartists/mailinglist.htm
Giovanni Dicanio
2009-12-14 18:10:15 UTC
Permalink
Post by Microsoft communities
The offending section is in atlcom.h
#if !defined(_ATL_DLL_IMPL) && !defined(_ATL_DLL)
ClassesAllowedInStream rgclsidAllowed;
DWORD cclsidAllowed;
#endif
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
Вячеслав
2010-01-03 02:02:12 UTC
Permalink
Post by Microsoft communities
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
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 Softwarehttp://www.mozart.co.uk
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.
Summary you need delete file ...\ce\atlmfc\include\atlcomcli.h before
applying the VS90SP1-KB973675-x86 patch
Dave Brown
2010-12-15 03:39:20 UTC
Permalink
thankyou, a variant of this solution worked for me too. I solved it by copying over the atlcomcli.h from my VS2008 install on my Vista laptop (which built my project fine).

So if you have a colleague who can build the project just take their atlcomcli.h!
Post by Microsoft communities
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
ClassesAllowedInStream rgclsidAllowed;
DWORD cclsidAllowed;
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
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 do not know if that is significant.
http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/ad698507-d62=
c-4e7b-bb7a-12a03b939594
--=20
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
Post by Giovanni Dicanio
Dave: could it be possible for you to #include <atlcomcli.h> ?
The ClassesAllowedInStream class seems to me defined in <atlcomcli.h>.
HTH,
Giovanni
Post by David Webber
Thanks Igor.
This looked very promising but it has not 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 am 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
http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/ad698507-d62=
c-4e7b-bb7a-12a03b939594
instead.
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 did not personally encounter this problem, nor tried the =
solution.
--=20
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
Post by David Webber
Thanks again - have left SDK7 there, uninstalled Visual Studio 2008,
reinstalled it, reinstalled SP1 and everything seems to be working. Wish I
knew why!
Dave
--
David Webber
Mozart Music Software
http://www.mozart.co.uk
For discussion and support see
http://www.mozart.co.uk/mozartists/mailinglist.htm
-dot-demon-
Summary you need delete file ...\ce\atlmfc\include\atlcomcli.h before
applying the VS90SP1-KB973675-x86 patch
Submitted via EggHeadCafe
Sterling Database for Silverlight and Windows Phone 7
http://www.eggheadcafe.com/tutorials/aspnet/f4731b1a-dadb-4b4f-b9a8-a5d9ef7a76dd/sterling-database-for-silverlight-and-windows-phone-7.aspx
Loading...