Visual SDKDDKVER.H缺少,但是安装了WinSDK?(C 标题问题)

visual SDKDDKVer.h missing, but WinSDK installed? (c++ header issues)

本文关键字:WinSDK 标题 问题 安装 SDKDDKVER 缺少 Visual      更新时间:2023-10-16

所以我最近以.NET 4.5(Visual Studio 2012 Professional)返回VC ,这是因为在与Web Dev,Python和c#的永恒之后,在新PC上有各种无关的原因。我对整个语言都很满意,它在语法方面是美丽的,我喜欢记忆管理自由,指示和参考。我再次以" Hello World"和BAM开始!错误。

正如许多其他人遇到这个问题一样,当我尝试编译和运行时,我会收到Intellisense错误:

cannot open source file "SDKDDKVer.h"" and the fatal error: "error C1083: Cannot open include file: 'SDKDDKVer.h': No such file or directory

我还安装了Visual Studio 2010(C#Express),也许这搞砸了我的一些东西。我已经确认,我的含有和lib的VC 目录都是正确的,并且Microsoft和几乎所有C 开发人员都建议使用这些目录。我试图安装最新的Winsdk(8.1)以获取标头及其所有功能,但我大约有110%肯定它不在那里。我现在正在为Win7安装SDK,希望它可以居住在那里(肯定需要很长时间。)

我的PC有一个终止蓝色屏幕的问题,仅在离开机器15分钟后可以解决任何问题,所以也许这是一个硬驱动问题?

你们中的任何人都可以帮助吗?绝对要抬头,屈尊,明显与否,都会受到赞赏,无论如何都要感谢您的阅读。

编辑:@michaelburr要求构建日志,我无法将其完整发布到底部,所以我认为我会在这里添加。

Build started 14/03/2014 00:34:11.
 1>Project "c:UsersBrandondocumentsvisual studio 2012ProjectsConsoleApplication4ConsoleApplication4ConsoleApplication4.vcxproj" on node 2 (Build target(s)).
 1>C:Program Files (x86)MSBuildMicrosoft.Cppv4.0V110Microsoft.CppBuild.targets(344,5): warning MSB8003: Could not find WindowsSDKDir variable from the registry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
 1>ClCompile:
     C:Program Files (x86)Microsoft Visual Studio 11.0VCbinCL.exe /c /ZI /nologo /W3 /WX- /sdl /Od /Oy- /D WIN32 /D _DEBUG /D _CONSOLE /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yc"stdafx.h" /Fp"DebugConsoleApplication4.pch" /Fo"Debug\" /Fd"Debugvc110.pdb" /Gd /TP /analyze- /errorReport:prompt stdafx.cpp
     stdafx.cpp
 1>c:usersbrandondocumentsvisual studio 2012projectsconsoleapplication4consoleapplication4targetver.h(8): fatal error C1083: Cannot open include file: 'SDKDDKVer.h': No such file or directory
 1>Done Building Project "c:UsersBrandondocumentsvisual studio 2012ProjectsConsoleApplication4ConsoleApplication4ConsoleApplication4.vcxproj" (Build target(s)) -- FAILED.

构建失败。

时间过去的时间00:00:00.12

如果上述信息无法解决您的问题,我正在提出以下VS2013体验的步骤:

  1. 选择项目属性>配置> VC 目录> 包括目录并添加: c: program Files(x86) MicrosoftSDK Windows V7.1A include
  2. 选择项目属性>配置> VC 目录> 库目录并添加: c: program Files(x86) MicrosoftSDK Windows v7.1a lib

在该配置之后,我对RC.EXE链接错误有问题。对于此问题,还需要一件事:

  1. 复制 rc.exe rcdll.dll 文件来自 c: program Files(x86) Microsoft SDK Windows V7.1A bin ,然后将它们经过 c: program文件(x86) Microsoft Visual Studio 12.0 vc bin 之后配置步骤,您可以构建一个简单的" Hello World!"例子如果您很幸运,请运行。

这个对我有用: "最近,当我将解决方案从VS2010转换为VS2013时,我遇到了这个问题。我通过简单地检查项目属性>"配置">"配置"> VC 目录>包含每个项目的所有配置的目录,从而解决了它。"

我只是遇到了这个确切的问题。几个小时后,试图通过查看不同的路径并尝试更改它们,卸载所有MS产品并重新安装它们等来找到问题。user} appdata local Microsoft msbuild v4.0 microsoft.cpp.win32.user.props和更改

<PropertyGroup>
  <IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfcinclude;$(WindowsSdkDir)include;$(FrameworkSDKDir)include;C:Program Files (x86)BCGSoftBCGControlBarProBCGCBPro;C:Program Files (x86)BCGSoftBCGControlBarProBCGCBPro</IncludePath>
  <LibraryPath>$(VCInstallDir)lib;$(VCInstallDir)atlmfclib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)lib;C:Program Files (x86)BCGSoftBCGControlBarProbin;C:Program Files (x86)BCGSoftBCGControlBarProbin</LibraryPath>
</PropertyGroup>

to

<PropertyGroup />

我不知道这个问题是如何出现的,但是我通过从同事的计算机上复制文件来找到解决方案,在这些文件中一切正常。问题可能是由于最近安装和卸载BCGControlbarpro ...

我知道这里有几个答案,但是我想解释是什么解决了我的问题。我搜索和搜索和搜索,找不到太多好材料。对我来说,解决方案是右键单击我的项目,请转到属性。在"属性"选项卡中,我将WindowsSDK版本更改为我安装的唯一版本。解决了问题。

为什么会发生这种情况?我不确定,但是它发生在Visual Studio执行更新之后,Windows更新安装了Windows 10的最新版本。我的猜测是,当发生这种情况时,项目中的SDK版本与已安装的SDK不匹配。

我希望这能在未来的搜索时间里节省某人!

穆斯塔法·凯马尔(Mustafa Kemal)的答案是正确的,但是如果您不想添加此内容每个VC 项目的目录和库,您应该将它们定义为Windows环境变量中的系统变量,然后重新启动计算机。

可变名称:Windowssdk_includepath,变量值:C: Program Files(X86) Microsoft SDKS Windows Windows V7.1A Indlyder。

可变名称:Windowssdk_librarypath_x86,变量值:C: Program Files(X86) Microsoft SDKS Windows Windows V7.1A Lib

这有时会在您添加Include或Library的路径并删除已经写入项目属性中的原始内容时会发生。

您不应删除lib或lib目录的旧路径,例如$(vcinstalldir);$(vcinstalldir)altmfc include;$(Windowssdkdir)包括;$(frameworksdkdir) include;

同一件事对于lib路径,只有lib

替换每个内容。

最好的问候

我最近将解决方案从VS2010转换为VS2013时遇到了这个问题。我通过简单地选中" 从父级或项目默认值继承"来解决它," project> project属性>配置> VC 目录> include directories in Configuraties in Configuration。/p>

您是否有与您发布的空白项目相同的问题?我尝试使用Windows 7 32和64位和XP 32位尝试并构建了您的项目。所有构建都很好,找到sdkddkver.h。

没问题

您的依赖关系路径设置必须有一些问题。

您有可能将VS设置从一个安装VS传输到另一种安装,可能从32位到64位(或VICE反之亦然)?如果是这种情况,请记住,您的路径可能包含错误的文件夹名称。对于32位系统,将所有应用程序安装为默认为c: program文件,而在64位计算机上,所有32位应用程序都安装到程序文件(x86)。这是VS的案例所有包含文件都在:

  • c: program Files(x86) Microsoft SDKS Windows Windows V7.0A include-原始安装
  • c: program文件(x86) microsoftSDK Windows v7.1a Include-安装7.1 vs SDK

如果已安装了其他SDK软件包,则可以使用SDKDDKVER.H的另一个文件夹:

  • c: program文件(x86) windows套件 8.0 include shared
  • c: program文件(x86) windows套件 8.1 include shared
  • C: Program Files Microsoft SDKS Windows Windows V6.0A Include
  • c: program Files Microsoft SDKS Windows Windows V7.0 Include
  • C: Program Files Microsoft SDKS Windows Windows V7.1 Include

在您的项目设置中,您应该有以下途径,包括:

  • $(vcinstalldir)包括
  • $(vcinstalldir)atlmfc include
  • $(windowssdk_includepath)

注意所用的宏。它们应该从父母的默认设置中继承。您可能通过在Microsoft.cpp.win32.user.props File中保存的编辑设置来覆盖属性管理器中的路径设置。

如果您的项目是从vs的早期版本转换的。

我正在运行2008、2010、1012和2013同一机器 - Windows 7和XP 32和64位,7 32位,没有任何问题。

您是否正在尝试构建另一个版本的VS?

创建的项目

看起来您在项目中设置的依赖关系有问题,或者您的SDK版本有问题,该版本设置为错误的版本。

如果创建另一个项目,例如基于对话框的应用程序;这个问题持续存在吗?您不必运行任何批处理文件。

  • 打开项目属性(右键单击项目,然后选择属性)。

  • 在配置属性下选择一般

  • 检查右窗格中的平台工具集。不应该设置到Visual Studio 2008(V90)。

尝试重建。如果问题仍然存在,请分享您的项目。

将其拉动并使用一些共享服务来发布它(例如Dropbox)。