【发布时间】:2011-08-09 08:18:52
【问题描述】:
我想使用 VS express 2005 编译我很久以前拥有的代码。 代码需要 windows.h,它不是 VS 2005 的一部分,我发现我需要安装平台 SDK。 但我找不到适用于 Windows XP 的平台 SDK。我在哪里可以下载这个平台 SDK? 在哪里可以找到 windows.h?
【问题讨论】:
标签: windows visual-studio winapi windows-xp platform-sdk
我想使用 VS express 2005 编译我很久以前拥有的代码。 代码需要 windows.h,它不是 VS 2005 的一部分,我发现我需要安装平台 SDK。 但我找不到适用于 Windows XP 的平台 SDK。我在哪里可以下载这个平台 SDK? 在哪里可以找到 windows.h?
【问题讨论】:
标签: windows visual-studio winapi windows-xp platform-sdk
以防万一有人真的需要旧的 SDK,这里是 2003 年 2 月的一个:
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
【讨论】:
如果您使用的是 c++,您始终可以使用以下代码行来定位 windows xp - windows 10。
/**
* Copyright (c) 2014 - 2016, Dark Edge Studios, All Rights Reserved.
*
* Authors
* - Daniel I. Dorn <danieldorn1797@hotmail.com>
*
* The following code example is under the terms of the ZLIB / LIB PNG
* License please only use as license permits.
*/
#ifndef YourIncludeGaurds
#define YourIncludeGaurds
/* Check if Windows */
#if defined(_WIN32) || _WIN64
/* sdkddk Header File */
#include <sdkddkver.h>
/**
* Windows XP
*/
#if defined(_WIN32_WINNT) && NTDDI_VERSION == 0x05010000
#endif /* Windows XP */
/**
* Windows Vista
*/
#if defined(_WIN32_WINNT) && NTDDI_VERSION == 0x06000000
#endif /* Windows Vista */
/**
* Windows 7
*/
#if defined(_WIN32_WINNT) && NTDDI_VERSION == 0x06010000
#endif /* Windows 7 */
/**
* Windows 8
*/
#if defined(_WIN32_WINNT) && NTDDI_VERSION == 0x06020000
#endif /* Windows 8 */
/**
* Windows 8.1
*/
#if defined(_WIN32_WINNT) && NTDDI_VERSION == 0x06030000
#endif /* Windows 8.1 */
/**
* Windows 10
*/
#if defined(_WIN32_WINNT) && NTDDI_VERSION == 0x0A000000
#endif /* Windows 10 */
#endif /* Windows */
#endif /* YourIncludeGaurds */
希望这有助于解释一些事情(=
【讨论】:
Visual Studio Express - 包括 2005 在内的所有版本 - 安装必要的平台 SDK 文件以构建 Windows 目标。
如果项目向导创建的项目(#include <windows.h>)不起作用,那么您已经以某种方式损坏了安装。
【讨论】:
您无需查找适用于 Windows XP 的 SDK。 Windows SDK 的每个版本都针对最新版本的 Windows 以及几个以前的版本。除非您的目标是非常旧版本的操作系统,否则您应该始终安装最新版本的 SDK。在这一点上,Windows XP 还不算数。
您需要做的就是确保在编译项目时设置适当的目标版本。要面向 Windows XP,您只需将 WINVER 定义为版本 0x0501,如下所示:
#define WINVER 0x0501
您可以使用标头 here 找到有关针对特定 Windows 版本的更多信息。
您可以在这里下载最新的 SDK:http://msdn.microsoft.com/en-us/windows/bb980924
【讨论】:
看看http://en.wikipedia.org/wiki/Microsoft_Windows_SDK
或者直接从cnet下载iso格式
【讨论】: