This blog is about developing Windows applications using Visual Studio. All postings on this weblog are provided "AS IS" with no warranties, and confer no rights. Use of any samples are subject to the terms specified at http://www.microsoft.com/info/cpyright.htm
Your host Nikola Dudar is a Program Manager in Windows division of Microsoft Corporation. He has been working on Windows Web Services API during Windows 7 and various additions to Visual C++ during VS2005 and VS2008. More details are in LinkedIn profile under Nikola's formal name Mykola Dudar.
If you are interested in program management and project management, check out my other blog at http://www.pmsnack.com/ where I collect best practices and other topics interesting to program and project managers.
To send feedback, comments or requests for new posts, please use the contact form.
This is an on going topic for quite some time. I am going to start answering it today and add additional information as I have more time.
There are three possible solutions:
(A) The Platform SDK for Windows Server 2003 SP1 . This PSDK has a toolset and compilers (although no IDE) that target both x64 and Itanium. These tools include the C/C++ compiler/linker and CRT/STL/MFC/ATL that are currently shipped with the OS. These libraries can be seen as a modification of libraries from VC6.0. Using the PSDK for Win2k3 SP1 it is possible to build 64bit code for both x64 and IA64, but using PSDK for Win2k3 (also often called February 2003 PSDK) one can only build code for IA64. One can download PSDK for Win2k3 from http://www.microsoft.com/msdownload/platformsdk/sdkupdate/. Pre-released builds of the PSDK for Win2k3 is available for MSDN subscribers, http://msdn.microsoft.com/subscriptions/downloads/
(B) There also exists the Visual C++ 7.1 64bit SDK for Visual Studio 2003. This SDK contains MFC/ATL/CRT libraries and cross-platform compiler that can be used to build 64bit with VS2003. This SDK helps users maintain source compatibility between VS2003 32bit code base and 64bit. However it has a more restrictive license agreement and because of this it is available on per request. Also this SDK depends on PSDK in option (A), as it needs Windows headers and libraries. You can read more about this here http://support.microsoft.com/default.aspx?scid=kb;en-us;875446
(B) After release of Visual Studio 2005, VC++ 7.1 64bit SDK is not available and not supported. Please use Visual Studio 2005 in building 64bit Visual C++ applications.
On the other hand, decision on what SDK to use depends on which version of VS has been used to develop source code of a product in 32bit world. If 32bit code is based on VC6, there should not be any problems with buildin the same code with the PSDK. The Platform SDK compiler is based on the compiler from VS2005 so you should not hit many issues. Most of them I am going to cover in my next posts to this blog. If your current 32bit code base is based on VC2002/2003 headers/libraries, then you most likely have to build your code with the 64bit 7.1 SDK. This is a pretty good SDK and most of customers hit no problems of porting their code. However, as I mentioned this before, I personally recommend start using Visual Studio 2005 ASAP. We have added much value to the new toolset, compiler and libraries. Compiler teams have made many improvements related to performance and security of the compiled code. Libs team did extensive security review of source code, fixed many, many bugs and have introduce really cool features to CRT, SCL and MFC. VS2005 is great release and I am very excited about all great work VC team has done for this release. However I guess this is a topic of another discussion, which I will open some other time.
Yesterday was a truly remarkable day. Not since Windows NT 3.1 released in 1993 have we seen such a shift