最新的 SDK 已经不能在 VC6 上使用。但是还是可以找到支持 VC6 的最后两个版本:
For Server2003 3790.0 RTM: Size (bytes): 342,000,000 Last Updated: February 2003
For XPSP2 2600.2180 RTM: Size (bytes): 266,000,000 Last Updated: August 2004
下载地址:
Platform SDK XP-SP2:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/PSDK-FULL.1.cab
http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/PSDK-FULL.2.cab
http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/PSDK-FULL.3.cab
http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/PSDK-FULL.4.cab
http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/PSDK-FULL.5.cab
http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/PSDK-FULL.6.cab
http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/PSDK-FULL.7.cab
http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/PSDK-FULL.8.cab
http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/PSDK-FULL.9.cab
http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/PSDK-FULL.10.cab
http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/Extract.exe
http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/PSDK-FULL.bat
Platform SDK February 2003:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.1.cab
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.2.cab
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.3.cab
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.4.cab
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.5.cab
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.6.cab
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.7.cab
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.8.cab
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.9.cab
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.10.cab
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.11.cab
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.12.cab
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.13.cab
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.bat
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/Extract.exe
VC6.0 最新的 SDK platform sdk xp-sp2 官方下载地址
//z 2013-09-14 12:40:18 IS2120@BG57IV3 T3248659762.K.F2508834176[T2,L51,R1,V12]
readme:
XPSP2 PSDK Full Download with Local Install
Use the full download to copy the entire Windows XP SP2 SDK to a secure computer, then selectively install individual SDKs locally or to other computers.
Click the links on the right. The File Download dialog box is displayed.
将所有压缩包.cab文件保存到一个目录下(如c:/psdktemp),该目录至少要有266 MB的空间。
Click each PSDK-FULL .cab file to save it. Save all .cab files to a temporary directory with at least 266 MB free space (for example, c:/psdktemp).
下载BAT文件(PSDK-FULL.bat)和Extract.exe文件。注意:这两个文件也要和压缩包在同一目录下。
Click BAT File for Extraction and save the batch file to the same directory.
在命令行模式进入前面建立的临时的目录,如:cd c:/psdktemp
Go to the temporary directory using a command prompt. For example:
cd c:/psdktemp
执行BAT文件(PSDK-FULL.bat)解压整个映像。注意:安装sdk的磁盘空间至少要有1.4 GB的剩余空间。
Run Psdk-full.bat to extract the full image from the .cab files. Specify an install directory with at least 1.4 GB free space. For example:
执行BAT文件(PSDK-FULL.bat)示例:
c:/psdktemp> psdk-full c:/psdk
这个过程可能需要几分钟的时间。
This can take several minutes to complete.
运行解压缩后所在文件夹的Setup.exe文件安装Platform SDK。
Run Setup.exe to install the Platform SDK using the SDK Update interface.
Troubleshooting Full Downloads
During the download and installation process, if you should encounter a corrupted CAB file, simply download that CAB file once again. This is a problem that most likely occurred during the data transfer.
Size (bytes): 266,000,000
Last Updated: August 2004
Build:
PSDK-Full.1.cab
PSDK-Full.2.cab
PSDK-Full.3.cab
PSDK-Full.4.cab
PSDK-Full.5.cab
PSDK-Full.6.cab
PSDK-Full.7.cab
PSDK-Full.8.cab
PSDK-Full.9.cab
PSDK-Full.10.cab
BAT File for Extraction
Extraction Utility File
我们在下载 SDK 时,微软网站上有这么一句话:
Development Tools. To build the C/C++ samples, you must have a C/C++ compiler. If you are using Microsoft Visual C/C++®, run it at least once before installing the SDK. This will ensure that the environment variables are correctly configured. To build the Visual Basic samples, you must have Microsoft Visual Basic®. This SDK does not support working with Microsoft Visual C/C++®, 6.0 as support for VC 6.0 has ended. The last SDK that will work with VC 6.0 is the February 2003 Edition, you can order a CD on the fulfillment site. Side by side installations are not supported.
可见微软已经不再对 VC6 支持了,最新的 SDK 已经不能在 VC6 上使用。vc6推出时,是98年,windows2000,windowsXP都还没有推出。所以VC6的头文件中仅仅包含win98/NT的API、常量声明。在新的系统推出后,windows2000/xp都增添了一些新的API函数、常量定义。于是,你就需要安装platform sdk,它会安装一些新的头文件,lib库到你的VC里面,这里面包含了新操作系统的新API函数、常量的声明。装了platform SDK,在VC6里面就可以调用新的API函数了。
理论上讲,如果你在你的VC代码里手工的添加新的API声明、常量声明,也可以调用新系统的API,
但很花时间,一般很少有人这么做。
但是还是可以找到支持 VC6 的最后两个版本:
For Server2003 February 2003 For XPSP2 2600. 它们的下载地址是: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/downlevel.htm
以下是它们的单独链接:
For Server2003 : http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
For XP SP2 : http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
因为 VC6 是 98 年出来的,所有 win2k 及以上版本中新的功能都不能使用,主要是缺少头文件和库文件,有些 API 无法调用,Platform SDK 就是为解决这个问题的。
根据开发环境选择不同版本的 SDK 来升级 VC6,就可以满足我们的编程要求。但是,我们还是要注意:为什么微软不支持 VC6 了呢? 因为“取消对 Visual C++ 6.0 的支持的原因是为了支持新的 /GS 参数。XP SP2 和Windows Server 2003 SP1 都增加了很多安全特性,以致于新的 Windows SDK 中包含的编译器和库文件不再和 Visual C++ 6.0 兼容。” /GS (Buffer Security Check), Visual C++ Compiler Options Compiler Security Checks in Depth 因此,如果要在新平台上进行开发,下载最新的编译器就可以了。VC2008 大得出奇,我是不想下了的,反正所有开发工作还是以 XP 为主,VC6 升级一下 SDK ,还是蛮好用的。
Platform SDK安装完成后,从【开始菜单】 【所有程序】,【Windows Platform SDK Febrary 2003】点击【Register PSDK directories with visual studio】,注册一下。再打开VC ,就好了。
//z 2013-09-14 12:53:31 IS2120@BG57IV3 T1889057073.K.F2456758910[T2,L49,R1,V10]
弄一个小工具,遇到了这些个错误;更新了下SDK 。
error C2039: 'SetWindowLongPtr' : is not a member of '`global namespace''
error C2065: 'SetWindowLongPtr' : undeclared identifier
error C2065: 'GWLP_WNDPROC' : undeclared identifier
//z 2013-09-14 13:34:02 IS2120@BG57IV3 T1333300527.K.F2508834176[T4,L140,R2,V20]
接着解决另一个问题:
error C2733: second C linkage of overloaded function 'InterlockedIncrement' not allowed.
等错误,这是因为 Microsoft Platform SDK 中的 WinBase.h 定义的线程安全函数InterlockedIncrement、InterlockedDecrement、InterlockedExchange 和 STLport 中 _threads.h 内定义的函数起冲突引发的错误。
解决办法是修改 STLport 的宏开关,打开\STLport-4.5.3\stlport 目录下的 stl_user_config.h 文件,找到以下两行宏定义:
//# define _STLP_USE_MFC 1
//# define _STLP_NEW_PLATFORM_SDK 1
将注释符号“//”删除,而且还要保证 Microsoft Platform SDK 的搜索路径必须在 STLport 和 MSVC 自己的搜索路径之前,这样就可以进行正常编译了。据说在VC7.0上没有这个问题!不过我没试过。
上面是作者的说法,下面偶说下不同的地方.
只是改了# define _STLP_NEW_PLATFORM_SDK 1.偶的STLPORT路径还在Microsoft Platform SDK 前面,好象也没事哦.先用着再说.有问题再改吧.
嘿嘿,偶以前用NOWINBASEINTERLOCK选项避开它们,不过有时候如用WTL避不开哦,只要使用STL就会出现这烦人的事.现在好了,世界清静了.
偶记在这儿有另外一层意思,这个stl_user_config.h文件还有些选项,以后顺利好说,再出些奇怪问题,来看看它也不错.