Bill Cumming

I am running Studio 2005 SP1 on WinXP and I'm trying to compile my app for Vista. I needed access to the SetThreadUILanguage, so I installed the Vista SDK from MSDN. Without changing any source code I merely recompiled the app.

Everything compiles OK except a proxy class that talks to a web service. The compiler automatically updates the web reference and #includes <atlsoap.h>, which is where the problem appears to begin. I then get two error messages:

1>C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\atlsocket.inl(130) : error C2065: 'IPPROTO_IPV6' : undeclared identifier

1>C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\atldbcli.h(33) : fatal error C1083: Cannot open include file: 'msdaguid.h': No such file or directory

The IDE include and library paths were correctly updated by running "Integrate Windows SDK with Visual Studio 2005" after installing the SDK, but the error message referring to 'msdaguid.h' is correct - the file does NOT exist in the Vista SDK include path, but DOES exist in the previous Platform SDK (which has now been removed from the include path). I would have hoped that the auto-generated web reference proxy class would compile correctly. And if I comment out the include of <atlsoap.h>, the above errors go away (and a lot of others appear, but further down in the file), which tells me this is indeed the line that causes the errors above.

Any suggestions



Re: Application Compatibility for Windows Vista Vista SDK causes C2065: 'IPPROTO_IPV6' : undeclared identifier

Mo Nail - MFST

You might check the info from the following articles

Using the Windows Headers

http://msdn2.microsoft.com/en-us/library/aa383745.aspx

Also it is my understanding that IPPROTO_IPV6 is defined in ws2def.h. Furthermore, winsock2.h includes ws2def.h

"IPv6 global unicast address not assigned to your computer after you install Windows XP Service Pack 2"

http://support.microsoft.com/kb/886530






Re: Application Compatibility for Windows Vista Vista SDK causes C2065: 'IPPROTO_IPV6' : undeclared identifier

Bill Cumming

Thank you for your suggestions, but they don't really answer why merely adding the Vista SDK to the Studio include path causes the compile error (and link error).

Do I need to

#define NTDDI_VERSION NTDDI_LONGHORN
#define WINVER 0x0600

in order to use the Vista SDK If so, that would likely make it impossible to support older customers running on Win2k and WinXP.

Does the Vista SDK require the defines above




Re: Application Compatibility for Windows Vista Vista SDK causes C2065: 'IPPROTO_IPV6' : undeclared identifier

Alex Ivanoff

I have the same problem. Looks like there is a bug in SDK.



Re: Application Compatibility for Windows Vista Vista SDK causes C2065: 'IPPROTO_IPV6' : undeclared identifier

Mo Nail - MFST

See the following:

"msdaguid.h and msdasc.h missing in Vista SDK 6000.0.0"

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx FeedbackID=266963

If this identifies your issue, be sure to vote on the problem, and to check the work-around.

Please post here if this work-around helps, so everyone who finds this thread will know.

Thanks,






Re: Application Compatibility for Windows Vista Vista SDK causes C2065: 'IPPROTO_IPV6' : undeclared identifier

Alex Ivanoff

This is about "msdaguid.h and msdasc.h". What about "IPPROTO_IPV6" error



Re: Application Compatibility for Windows Vista Vista SDK causes C2065: 'IPPROTO_IPV6' : undeclared identifier

Mo Nail - MFST

I have heard that in some cases VS2005 may not set the _WIN32_WINNT environment variable. Ws2def.h defines IPPROTO_IPV6 only if this env variable is set and is >= 0501

"#if(_WIN32_WINNT >= 0x0501). "

Also make sure you have the lastest service packs for VS2005.






Re: Application Compatibility for Windows Vista Vista SDK causes C2065: 'IPPROTO_IPV6' : undeclared identifier

Alex Ivanoff

It works if you remove Vista SDK. So this is a bug in SDK.





Re: Application Compatibility for Windows Vista Vista SDK causes C2065: 'IPPROTO_IPV6' : undeclared identifier

Mo Nail - MFST

You might try posting in the Vista Windows SDK forum.

http://forums.microsoft.com/MSDN/ShowForum.aspx ForumID=121&SiteID=1

Or see the following link for reporting a bug:

http://support.microsoft.com/gp/contactbug

Or contact your regional Partner Support for help troubleshooting the issue with you.






Re: Application Compatibility for Windows Vista Vista SDK causes C2065: 'IPPROTO_IPV6' : undeclared identifier

Alex Ivanoff

I followed your advice and posted in Vista SDK forum but moderator deleted my post as duplicate. Nice.



Re: Application Compatibility for Windows Vista Vista SDK causes C2065: 'IPPROTO_IPV6' : undeclared identifier

Bruce N. Baker - MSFT

Ok, this is a known issue connected with SDK and VS 2005, I'm investigating it's status

For Reference: IPPROTO_IPV6 is defined in ws2def.h. Furthermore, winsock2.h includes ws2def.h

Now the coments:

".... In some cases, it doesnĄ¯t set the _WIN32_WINNT environment variable. Ws2def.h defines IPPROTO_IPV6 only if this env variable is set and is >= 0501......"

further ".....if you would have selected an MFC project from the Visual Studio project wizard, the header file it generates sets this define and has a comment about its use. Unfortunately the Win32 project wizard doesnĄ¯t set this...."






Re: Application Compatibility for Windows Vista Vista SDK causes C2065: 'IPPROTO_IPV6' : undeclared identifier

Alex Ivanoff

See my previous post: it does work if you remove Vista SDK. So this is not an issue with VS 2005, it is Vista SDK issue.



Re: Application Compatibility for Windows Vista Vista SDK causes C2065: 'IPPROTO_IPV6' : undeclared identifier

Bill Cumming

And in my case the include file problems are caused by an auto-generated proxy class created by Studio when it updates a Web Reference (something I have no control over). And like Alex, mine works fine if you remove the Vista SDK.




Re: Application Compatibility for Windows Vista Vista SDK causes C2065: 'IPPROTO_IPV6' : undeclared identifier

Bruce N. Baker - MSFT

This is a known issue and will be resolved in the next posted SDK which should be this summer (aka June).




Re: Application Compatibility for Windows Vista Vista SDK causes C2065: 'IPPROTO_IPV6' : undeclared identifier

Bill Cumming

Thanks - that's all I needed to know.