SDKDDKVer.h отсутствует, но WinSDK установлен? (проблемы с заголовком c++ )
поэтому я недавно вернулся к VC++ с .NET 4.5 (Visual Studio 2012 professional) из-за различных неуместных причин на новом ПК, проведя вечность с web dev, python и c#. Я довольно комфортно с языком в целом, это f**король красиво с точки зрения синтаксиса, и я люблю свободу управления памятью, указатели и ссылки. Я снова начинаю с" hello world " и БАМ! Ошибка.
Как много других людей получают с этой проблемой, я получаю Ошибка 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), возможно, это испортит некоторые из моих вещей. Я подтвердил, что мои каталоги VC++ для incl и lib верны и рекомендованы Microsoft и практически любым разработчиком C++. Я попытался установить самый последний WinSDK (8.1), чтобы получить заголовок и все его функции, но я уверен, что 110% его там нет. Я установка SDK для Win7 прямо сейчас в надежде, что он может находиться там (это, конечно, займет много времени.)
Мой компьютер имеет проблему окончательно синего скрининга только для любой проблемы, которая будет решена при выходе из машины в течение 15 минут, так что, может быть, это проблема жесткого диска?
может кто-нибудь помочь? Абсолютно любые головы, снисходительные, очевидные или нет, будут оценены тонной, и спасибо за чтение в любом случае.
EDIT: @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
9 ответов
У вас есть та же проблема, что и пустой проект, который вы разместили? Я пробовал и построил ваш проект с помощью Windows 7 32 и 64 бит и XP 32 бит. Все сборки в порядке, нет проблем с поиском SDKDDKVer.h.
У вас должны быть проблемы с настройками пути зависимостей.
возможно, что Вы перенесли настройки VS с одной установки VS на другую, возможно, с 32-битной на 64-битную (или наоборот) машину? Если это так, помните, что ваш путь может включите неправильные имена папок. Для 32-разрядной системы все приложения устанавливаются по умолчанию C:\Program файлы, в то время как на 64-разрядной машине все 32-битные приложения устанавливаются в Program Files (x86). Это случай для VS. Все файлы include находятся в:
- C:\Program файлы (x86)\Microsoft SDKs\Windows\v7.0A\включить - оригинал VS установка
- C:\Program файлы (x86)\Microsoft SDKs\Windows\v7.1A\Include-после установки 7.1 VS SDK
Если у вас есть другие установленные пакеты SDK у вас могут быть другие папки с SDKDDKVer.h:
- C:\Program файлы (x86)\Windows Kits\8.0\Include\shared
- C:\Program файлы (x86)\Windows Kits\8.1\Include\shared
- C:\Program файлы\Microsoft SDKs\Windows\v6.0A\Include
- C:\Program файлы\Microsoft SDKs\Windows\v7.0\Include
- C:\Program файлы\Microsoft SDKs\Windows\v7.1\Включить
в настройках Вашего проекта вы должны есть следующие пути включает в себя:
- $(VCInstallDir)включить
- $(VCInstallDir)atlmfc\include
- $(WindowsSDK_IncludePath)
макросы, обратите внимание, используется. Они должны быть унаследованы от родительских setrtings по умолчанию. Возможно, вы переопределили параметры пути в диспетчере свойств, изменив параметры, сохраненные в Microsoft.СРР.С Win32.пользователь.файл props.
возможно, это произошло, если ваш проект был преобразован из более ранних версий VS.
если вышеуказанная информация не смогла решить вашу проблему, я предлагаю следующие шаги из моего опыта VS2013:
- выберите Свойства проекта>конфигурация>каталоги VC++>включить Каталоги и добавить, что: c:\Program файлы (x86)\Microsoft SDKs\Windows\v7.1A\Include
- выберите Свойства проекта>конфигурация>каталоги VC++>библиотека Каталоги и добавить, что: c:\Program файлы (x86)\Microsoft Пакет SDK для Windows\\В7.\1А Либ
после этой конфигурации у меня была проблема с rc.ошибку ССЫЛКА. Для этой задачи необходимо еще одно:
- скопировать RC.exe и RcDll.dll файлы файлы C:\Program Файлы (для x86)\Microsoft пакет SDK папке\Windows\В7.\1А ОГРН и мимо них к C:\Program Файлы (x86)\Microsoft Visual Studio 12.0\VC\bin после всего этого действия по настройке, вы можете построить простой "Привет Мир!" образец и если Вам ПОВЕЗЕТ.
у меня просто была эта точная проблема. После нескольких часов и часов в попытке найти проблему, глядя на разные пути и пытаясь изменить их, удалить все продукты MS и переустановить их и т. д. без какого-либо успеха я нашел решение, чтобы открыть файл C:\Users\{пользователь}\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.СРР.С Win32.пользователь.реквизит и изменение
<PropertyGroup>
<IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;C:\Program Files (x86)\BCGSoft\BCGControlBarPro\BCGCBPro;C:\Program Files (x86)\BCGSoft\BCGControlBarPro\BCGCBPro</IncludePath>
<LibraryPath>$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib;C:\Program Files (x86)\BCGSoft\BCGControlBarPro\bin;C:\Program Files (x86)\BCGSoft\BCGControlBarPro\bin</LibraryPath>
</PropertyGroup>
to
<PropertyGroup />
Я не знаю, как возникла эта проблема, но я нашел решение путем копирования файл с машины моего коллеги, где все работало нормально. Проблема может быть вызвана недавней установкой и удалением BCGControlBarPro...
Это сработало для меня: "недавно у меня была эта проблема, когда я преобразовал решение из VS2010 в VS2013. Я решил это, просто установив флажок "наследовать от родительских или проектных значений по умолчанию" в разделе свойства проекта>конфигурация>каталоги VC++>включить каталоги для всех конфигураций каждого проекта."
ответ Мустафы Кемаля правильный, но если вы не хотите добавлять этот каталог и библиотеку для каждого проекта VC++ отдельно, вы должны определить их как системные переменные в переменных среды Windows, а затем перезагрузить компьютер.
Имя Переменной: WindowsSDK_IncludePath, Переменное значение: c:\Program файлы (x86)\Microsoft SDKs\Windows\v7.1A\включить.
и
Имя Переменной: WindowsSDK_LibraryPath_x86, Переменное значение: c:\Program файлы (для x86)\Microsoft пакет SDK папке\Windows\В7.\1А Либ
Я знаю, что здесь есть несколько ответов на этот вопрос, но я хотел объяснить, что решило проблему для меня. Я искал, искал и искал, но не нашел ничего хорошего. Решением для меня было щелкнуть правой кнопкой мыши по моему проекту, перейти к свойствам. На вкладке свойства я изменил версию WindowsSDK на единственную, которую я установил. Это исправило проблему.
Почему это происходит? Я не уверен, но это произошло после того, как Visual Studio выполнила обновление и после того, как Центр обновления Windows установил новейшую сборку Windows 10. Я предполагаю, что когда это произошло, версия SDK в проекте не соответствовала установленному SDK.
Я надеюсь, что это спасет кого-то в будущих часах поиска!
недавно у меня была эта проблема, когда я преобразовал решение из VS2010 в VS2013. Я решил это просто проверка на "наследовать от родителя или от значений по умолчанию для проекта" флажок свойства проекта>конфигурация>каталоги VC++>включить каталоги для всех конфигураций каждого проекта.
Я запускаю 2008, 2010, 1012 и 2013, установленные на одной машине - Windows 7 и XP 32 и 64-бит, 7 32-бит, без каких-либо проблем.
вы пытаетесь построить проект, созданный другой версией VS?
похоже, у вас проблема с зависимостями, установленными в вашем проекте, или у вас проблема с версией SDK, которая установлена в неправильную версию.
Если вы создаете другой проект, например, диалоговое приложение; делает эту проблему упорствовать? Вам не нужно запускать пакетный файл.
открыть свойства проекта (правой кнопкой мыши на проекте и выберите свойства.)
выберите "Общие" в разделе свойства конфигурации
Проверьте набор инструментов платформы на правой панели. Он не должен быть установлен в Visual Studio 2008 (V90).
попробуйте восстановление. Если проблема не устранена, поделитесь своим проектом.
ЗИП и использовать некоторые из общих сервисов для его публикации (например, dropbox).
иногда это происходит, когда вы добавляете путь для своей include или библиотеки и удаляете исходные, которые уже написаны в свойствах проекта.
вы не должны удалять старый путь для каталогов include или lib, таких как $(VCInstallDir)include; $(VCInstallDir)altmfc\include; $(WindowsSdkDir) include; $(FrameworkSDKDir)\include;
то же самое для пути lib просто замените каждый include на lib.
С Наилучшими Пожеланиями