Hell’o
I’ve just installed Visual Studio 2017 (enterprise).I opened my project whom I created in Visual Studio 2015. My project uses windows.h library but VS2017 cannot find this library. How to repair this?
Mike Kinghan
56k12 gold badges153 silver badges183 bronze badges
asked Apr 14, 2017 at 11:28
3
My solution was :
- Open the project properties
- Into General —> SDK Version
- I just picked the 10.0.15063.0 version instead of 8.1
And it worked.
answered Aug 14, 2017 at 12:02
ImFonkyImFonky
8151 gold badge7 silver badges8 bronze badges
1
I solved this issue by re-running the Visual Studio Installer and selecting the «Modify» button. Once presented with the Workloads screen I clicked on the «Individual Components» tab and selected all of the latest «Windows 10 SDK» Checkboxes(version 10.0.15063.0). My guess is that the entry for «Desktop C++ x86 and x64» is the one the actually fixes it but it is only speculation because none of those options were checked when I ran the installer and as you can see I checked all of them.
answered Apr 17, 2017 at 21:58
James PackJames Pack
8341 gold badge10 silver badges19 bronze badges
2
This happens when you have customized include/library paths in legacy projects. If you added your own additional paths in project properties, VisualStudio 2017 can’t automatically figure out base paths when switching between platforms/toolsets — normally it automatically puts correct paths there, but if you added customizations, VS won’t touch them.
This is legitimate problem which I ran into myself recently when migrating old project targeted for Windows XP into VS2017. None of the answers or comments listed/linked here so far are helpful. I have all legacy SDKs in VisualStudio 2017 installer, and none of that fixed VS not finding essential includes such as <windows.h>
. In my case the project was using v120 toolset from VS2013, which is superseded by v140_xp in newer VS.
After setting correct platform and toolset understood by VS2017, I did the following to resolve the problem:
-
Open project properties, go to VC++ Directories, for ‘Include Directories’ and for ‘Library Directories’, choose
<Inherit from parent or project defaults>
. This will remove your additional paths. -
Click ‘Apply’. This will reset include path to something like
$(VC_IncludePath_x86);$(WindowsSdk_71A_IncludePath_x86)
(will vary for SDKs). -
Re-add your extra paths here, or better yet — under C/C++/General -> Additional Include Directories and Linker/General -> Additional Library Directories.
answered Jul 6, 2017 at 9:03
CozzamaraCozzamara
1,3181 gold badge14 silver badges22 bronze badges
2
I got it fixed when I simply changed «General => Windows SDK version» to a different version, submitted the changes and then changed it back.
answered Jun 17, 2019 at 5:05
AivarAivar
6,8265 gold badges46 silver badges80 bronze badges
The problem occurs when you migrate your C++ project from a more updated visual studio version to a lesser one.
To solve the issue simply go to your :
Project’s properties—>General—>SDK Version [and here unroll to show installed SDK versions so you downgrade to an available version {Since the required one seems unavailable hence the error}].
Once one of the Available SDKs selected, Apply, and go back to your code, and everything gonna get fixed.
answered Jan 15, 2019 at 10:52
If the installation was ok it should be here:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um\Windows.h
So be sure it is on the include path of the project properties.
Or if you prefer by manual edit in the .vcxproj file at the IncludePath Tag line:
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared;</IncludePath>
answered Sep 26, 2017 at 20:57
ZannaZanna
6769 silver badges13 bronze badges
TL;DR: make sure the checkbox, marked below, is checked.
In the Include Directories Dlgbox, there’s an option at the bottom «Inherit from…» that needs to be checked. Somehow it got unchecked after moving a project to a different solution.
So, in my case, resetting to defaults and adding custom paths again wasn’t even needed.
answered May 6, 2020 at 11:39
You have to go in Visual Studio 2017 Installer, choose Individual Components, and manually select and install Windows 8.1 SDK.
answered Jun 17, 2017 at 1:42
This step work for me.
1. Open visual studio installer
2. at menu «Visual studio comunity 2017» —> click modify
3. at desktop development with c++ —> enable windows10 SDK for desktop and windows 8.1 SDK
4. click modify
answered Oct 17, 2017 at 3:28
I’ve also installed Visual Studio 2017 (community) first with the default composition settings.I opened my project whom I created in Visual Studio 2015. My project uses windows.h library but VS2017 cannot find this library and other problems. At first I install the missing (SDK 10 … etc.) components. Part of problems is gone, but windows.h still not found. The problem was solved by completely uninstalling VS2017 and then installing with all the options at once.
answered Feb 18, 2018 at 13:27
My solution was checking paths.
Include Directories:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;
%(AdditionalIncludeDirectories)
Library Directories:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64
and then right click Solution Explorer: Solution ‘xxxxx’ (1 project) line click «Retarget solution»
Remember to set Debug setting for Symbols fetch — Windows 10 must use Microsoft symbol server!
tuomastik
4,5995 gold badges36 silver badges49 bronze badges
answered Feb 1, 2019 at 5:22
Hell’o
I’ve just installed Visual Studio 2017 (enterprise).I opened my project whom I created in Visual Studio 2015. My project uses windows.h library but VS2017 cannot find this library. How to repair this?
Mike Kinghan
56k12 gold badges153 silver badges183 bronze badges
asked Apr 14, 2017 at 11:28
3
My solution was :
- Open the project properties
- Into General —> SDK Version
- I just picked the 10.0.15063.0 version instead of 8.1
And it worked.
answered Aug 14, 2017 at 12:02
ImFonkyImFonky
8151 gold badge7 silver badges8 bronze badges
1
I solved this issue by re-running the Visual Studio Installer and selecting the «Modify» button. Once presented with the Workloads screen I clicked on the «Individual Components» tab and selected all of the latest «Windows 10 SDK» Checkboxes(version 10.0.15063.0). My guess is that the entry for «Desktop C++ x86 and x64» is the one the actually fixes it but it is only speculation because none of those options were checked when I ran the installer and as you can see I checked all of them.
answered Apr 17, 2017 at 21:58
James PackJames Pack
8341 gold badge10 silver badges19 bronze badges
2
This happens when you have customized include/library paths in legacy projects. If you added your own additional paths in project properties, VisualStudio 2017 can’t automatically figure out base paths when switching between platforms/toolsets — normally it automatically puts correct paths there, but if you added customizations, VS won’t touch them.
This is legitimate problem which I ran into myself recently when migrating old project targeted for Windows XP into VS2017. None of the answers or comments listed/linked here so far are helpful. I have all legacy SDKs in VisualStudio 2017 installer, and none of that fixed VS not finding essential includes such as <windows.h>
. In my case the project was using v120 toolset from VS2013, which is superseded by v140_xp in newer VS.
After setting correct platform and toolset understood by VS2017, I did the following to resolve the problem:
-
Open project properties, go to VC++ Directories, for ‘Include Directories’ and for ‘Library Directories’, choose
<Inherit from parent or project defaults>
. This will remove your additional paths. -
Click ‘Apply’. This will reset include path to something like
$(VC_IncludePath_x86);$(WindowsSdk_71A_IncludePath_x86)
(will vary for SDKs). -
Re-add your extra paths here, or better yet — under C/C++/General -> Additional Include Directories and Linker/General -> Additional Library Directories.
answered Jul 6, 2017 at 9:03
CozzamaraCozzamara
1,3181 gold badge14 silver badges22 bronze badges
2
I got it fixed when I simply changed «General => Windows SDK version» to a different version, submitted the changes and then changed it back.
answered Jun 17, 2019 at 5:05
AivarAivar
6,8265 gold badges46 silver badges80 bronze badges
The problem occurs when you migrate your C++ project from a more updated visual studio version to a lesser one.
To solve the issue simply go to your :
Project’s properties—>General—>SDK Version [and here unroll to show installed SDK versions so you downgrade to an available version {Since the required one seems unavailable hence the error}].
Once one of the Available SDKs selected, Apply, and go back to your code, and everything gonna get fixed.
answered Jan 15, 2019 at 10:52
If the installation was ok it should be here:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um\Windows.h
So be sure it is on the include path of the project properties.
Or if you prefer by manual edit in the .vcxproj file at the IncludePath Tag line:
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared;</IncludePath>
answered Sep 26, 2017 at 20:57
ZannaZanna
6769 silver badges13 bronze badges
TL;DR: make sure the checkbox, marked below, is checked.
In the Include Directories Dlgbox, there’s an option at the bottom «Inherit from…» that needs to be checked. Somehow it got unchecked after moving a project to a different solution.
So, in my case, resetting to defaults and adding custom paths again wasn’t even needed.
answered May 6, 2020 at 11:39
You have to go in Visual Studio 2017 Installer, choose Individual Components, and manually select and install Windows 8.1 SDK.
answered Jun 17, 2017 at 1:42
This step work for me.
1. Open visual studio installer
2. at menu «Visual studio comunity 2017» —> click modify
3. at desktop development with c++ —> enable windows10 SDK for desktop and windows 8.1 SDK
4. click modify
answered Oct 17, 2017 at 3:28
I’ve also installed Visual Studio 2017 (community) first with the default composition settings.I opened my project whom I created in Visual Studio 2015. My project uses windows.h library but VS2017 cannot find this library and other problems. At first I install the missing (SDK 10 … etc.) components. Part of problems is gone, but windows.h still not found. The problem was solved by completely uninstalling VS2017 and then installing with all the options at once.
answered Feb 18, 2018 at 13:27
My solution was checking paths.
Include Directories:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;
%(AdditionalIncludeDirectories)
Library Directories:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64
and then right click Solution Explorer: Solution ‘xxxxx’ (1 project) line click «Retarget solution»
Remember to set Debug setting for Symbols fetch — Windows 10 must use Microsoft symbol server!
tuomastik
4,5995 gold badges36 silver badges49 bronze badges
answered Feb 1, 2019 at 5:22
levandowskiy 1 / 1 / 0 Регистрация: 18.08.2009 Сообщений: 7 |
||||
1 |
||||
26.12.2011, 21:23. Показов 22550. Ответов 9 Метки нет (Все метки)
Привет, участникам форума) Давно не писал сюда. Вот такая проблемка возникла: Никогда не писал для win32api, а тут прямо припёрло. Код:
Нажимаю F5 и вуаля ошибка 1>d:\documents and settings\александр\мои документы\visual studio 2008\projects\test_project1\test_pr oject1\main.cpp(1) : fatal error C1083: Cannot open include file: ‘windows.h’: No such file or directory говорит нет такого файла. Вопрос такой уважаемые форумчане : может какие настройки требуются к visual studio , может где скачивается этот чёртов файл. При всём желании пописать на API не имею такой возможности. Спасайте что надо сделать чтобы код заработал???
0 |
589 / 96 / 6 Регистрация: 24.01.2009 Сообщений: 379 |
|
27.12.2011, 00:33 |
2 |
В настройках проекта нужно указать: Если нет SDK, то нужно скачать Windows SDK для создания прог под винду. Если нужно могу скинуть куда-нибудь под XP (400 МБ) или под 7-ку (1,5 ГБ). Какая у тебя ОС? Добавлено через 26 минут
0 |
1 / 1 / 0 Регистрация: 18.08.2009 Сообщений: 7 |
|
27.12.2011, 07:31 [ТС] |
3 |
Спасибо за такой полный ответ. Если это возможно скиньте мне пожалуйста SDK для winXP можно на почту levandowskiy@yandex.ru Второй вопрос: где найти настройки компилятора и линовщика . Tools->Options это понятно а дальше не пойму.
0 |
589 / 96 / 6 Регистрация: 24.01.2009 Сообщений: 379 |
|
28.12.2011, 01:35 |
4 |
Не, нужно в меню выбрать Project->References… Добавлено через 34 минуты Предыдущая ссылка, кстати, включает в себя все нужные файлы и для XP тоже (кроме 7-ки). Правда качать там 1,5 ГБ
0 |
russian_pepper 44 / 1 / 0 Регистрация: 14.06.2014 Сообщений: 150 |
||||
30.07.2015, 22:06 |
5 |
|||
Привет, Всем!
в VS2013 ошибка другая: Error 1 error C2664: ‘int MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT)’ : cannot convert argument 2 from ‘const char [20]’ to ‘LPCWSTR’ D:\Temp\Win32Project1_HelloWorld\Win32Project1_HelloWorld\Win32Project1_HelloWor ld\Source.cpp 7 1 Win32Project1_HelloWorld
0 |
Dragokas 18068 / 7671 / 891 Регистрация: 25.12.2011 Сообщений: 11,444 Записей в блоге: 17 |
||||
30.07.2015, 22:22 |
6 |
|||
Либо используйте юникодные строки:
Либо переключите в настройках проекта кодировку на многобайтовую.
1 |
44 / 1 / 0 Регистрация: 14.06.2014 Сообщений: 150 |
|
30.07.2015, 22:45 |
7 |
Dragokas, Спасибо! Так всё работает. У Щупака этого нет, откуда я должен был это узнать? Где мне лучше брать информацию для решения моей задачи? Добавлено через 3 минуты
0 |
18068 / 7671 / 891 Регистрация: 25.12.2011 Сообщений: 11,444 Записей в блоге: 17 |
|
30.07.2015, 22:48 |
8 |
Писать на юникоде и не иметь в дальнейшем никакой головной боли. По графике кто-то другой поможет. Я ее ни капли не изучал.
2 |
1369 / 513 / 71 Регистрация: 21.07.2015 Сообщений: 1,302 |
|
31.07.2015, 11:12 |
9 |
И какой вариант с Вашей точки зрения более правильный, кодировку переключить или строку изменить с учётом подсказки Вашей? Использовать макрос TEXT(«bla bla»);
У меня очень простая задача, нужно строить графики по точкам в разных окнах, масштабировать их и накладывать друг на друга иногда В VS уже есть шаблон проекта каркасного оконного приложения. Вот и возьми его за основу. Рисовать можно в WM_PAINT — гугл в помощь.
0 |
117 / 121 / 42 Регистрация: 25.08.2012 Сообщений: 1,294 |
|
02.08.2015, 20:39 |
10 |
Dragokas, а можно в начале просто макрос написать «#undef UNICODE», если надо в определенном месте отключить использование Юникода, и задефить потом обратно
0 |
Привет
Я только что установил Visual Studio 2017 (предприятие). Я открыл свой проект, который я создал в Visual Studio 2015. Мой проект использует библиотеку windows.h, но VS2017 не может найти эту библиотеку. Как это починить?
13
Решение
Мое решение было:
- Открой свойства проекта
- В генеральный —> Версия SDK
- Я только что выбрал 10.0.15063.0 версия вместо 8.1
И это сработало.
44
Другие решения
Я решил эту проблему, перезапустив установщик Visual Studio и нажав кнопку «Изменить». После того, как на экране появилось окно «Рабочие нагрузки», я щелкнул вкладку «Отдельные компоненты» и установил все последние флажки «Windows 10 SDK» (версия 10.0.15063.0). Я предполагаю, что запись для «Desktop C ++ x86 и x64» является той, которая действительно исправляет ее, но это всего лишь предположение, потому что ни одна из этих опций не была проверена, когда я запустил установщик, и, как вы можете видеть, я проверил все из них.
20
Это происходит, когда вы настраиваете пути include / library в устаревших проектах. Если вы добавили свои собственные дополнительные пути в свойствах проекта, VisualStudio 2017 не сможет автоматически определить базовые пути при переключении между платформами / наборами инструментов — обычно он автоматически помещает туда правильные пути, но если вы добавили настройки, VS не будет их трогать.
Это законная проблема, с которой я столкнулся недавно при переносе старого проекта, ориентированного на Windows XP, в VS2017. Ни один из ответов или комментариев, перечисленных / связанных здесь, пока не является полезным. У меня есть все устаревшие SDK в установщике VisualStudio 2017, и ни один из этих исправленных VS не нашел необходимых включений, таких как <windows.h>
, В моем случае в проекте использовался набор инструментов v120 из VS2013, который заменен v140_xp в более новой VS.
После установки правильной платформы и набора инструментов, понятных VS2017, я сделал следующее, чтобы решить проблему:
-
Откройте свойства проекта, перейдите в каталоги VC ++, выберите «Включить каталоги» и «Библиотечные каталоги», выберите
<Inherit from parent or project defaults>
, Это удалит ваши дополнительные пути. -
Нажмите «Применить». Это сбросит путь включения к чему-то вроде
$(VC_IncludePath_x86);$(WindowsSdk_71A_IncludePath_x86)
(будет отличаться для SDK). -
Добавьте сюда дополнительные пути, или еще лучше — в C / C ++ / General -> Дополнительные каталоги включения и Linker / General -> Дополнительные каталоги библиотеки.
10
Если установка прошла нормально, это должно быть здесь:
C: \ Program Files (x86) \ Windows Kits \ 10 \ Include \ 10.0.15063.0 \ um \ Windows.h
Поэтому убедитесь, что он находится на пути включения свойств проекта.
Или, если вы предпочитаете вручную редактировать файл .vcxproj в строке тега IncludePath:
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared;</IncludePath>
1
Вам нужно зайти в установщик Visual Studio 2017, выбрать отдельные компоненты, а затем вручную выбрать и установить Windows 8.1 SDK.
0
Этот шаг работает для меня.
1. Откройте установщик Visual Studio
2. в меню «Visual studio comunity 2017» -> нажмите изменить
3. при разработке рабочего стола с c ++ -> включить Windows10 SDK для рабочего стола и Windows 8.1 SDK
4. нажмите изменить
0
Я также сначала установил Visual Studio 2017 (сообщество) с настройками композиции по умолчанию. Я открыл свой проект, который я создал в Visual Studio 2015. Мой проект использует библиотеку windows.h, но VS2017 не может найти эту библиотеку и другие проблемы. Сначала я устанавливаю недостающие (SDK 10 … и т. Д.) Компоненты. Часть проблем исчезла, но windows.h до сих пор не найден. Проблема была решена путем полной деинсталляции VS2017 и последующей установки сразу со всеми опциями.
0
I’ve just installed VS2015 Community.
I didn’t uninstall VS2010.
It converted a large application I’m currently working on.
I’m getting this error — fatal error C1083: Cannot open include file: ‘windows.h’: No such file or directory
Here is some new code I just created using the empty template, multi char instead of UTF 16:
#include <windows.h> INT_PTR CALLBACK simple_2015_dialog_box(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam); int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { DialogBox(hinstance, "SIMPLE_2015_DIALOG", NULL, (DLGPROC)simple_2015_dialog_box); } INT_PTR CALLBACK simple_2015_dialog_box(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) { }
There might be a lot of problems in this little piece of code, I just tossed it together. I didn’t even bother building the dialog template.
However, the only error it reports is — fatal error C1083: Cannot open include file: ‘windows.h’: No such file or directory
I searched the C drive for windows.h and found nothing.
I’ve found Microsoft’s search tool useless since Win 7. Here is what it came up with when looking for windows.h.
Why do I need to scroll through 209 files with names like
amd64_microsoft.windows.c..-controls.resources_6595b64144ccf1df_5.82.10586.0_hu-hu_396d25395bc70435_comctl32.dll.mui_0da4e682
when I’m searching for a file with the name of «windows.h»? I’ve looked for a forum on MS’s search feature, with no luck.
Anyway, the search finds no file named windows.h.
Why can’t I find VS2010’s windows.h file?
What am I doing wrong?
Thanks
Larry
-
Edited by
Thursday, March 24, 2016 6:08 PM