Подтвердить что ты не робот

Не удается открыть Windows.h в Microsoft Visual Studio

Прежде всего: я использую Microsoft Visual Studio 2012

Я разработчик С#/Java, и теперь я пытаюсь выполнить программу для kinect с помощью Microsoft SDK и С++. Поэтому я начал с примера "Основы цвета", и я не могу его скомпилировать. Сначала ни один из классов не смог найти Windows.h. Поэтому я установил (или повторно установил, я не уверен) SDK Windows, и добавил включенный каталог SDK к включенному "пути" проекта. Затем все проблемы исчезли, за исключением одного:

Error   5   error RC1015: cannot open include file 'windows.h'. C:\temp\ColorBasics-D2D\ColorBasics.rc  17  1   ColorBasics-D2D

И это ошибка. Нет причин, по которым система может найти его, потому что он используется в нескольких других файлах, только этот файл не может работать с ним. В качестве ссылки весь файл, который прослушивает (ColorBasics.rc):

//------------------------------------------------------------------------------
// <copyright file="ColorBasics-D3D.rc" company="Microsoft">
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>
//------------------------------------------------------------------------------

// Microsoft Visual C++ generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// English (United States) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US

/////////////////////////////////////////////////////////////////////////////
//
// Icon
//

// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_APP                 ICON                    "app.ico"

/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//

IDD_APP DIALOGEX 0, 0, 512, 424
STYLE DS_SETFONT | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_CONTROLPARENT | WS_EX_APPWINDOW
CAPTION "Color Basics"
CLASS "ColorBasicsAppDlgWndClass"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
    DEFPUSHBUTTON   "Screenshot",IDC_BUTTON_SCREENSHOT,238,391,50,14
    CONTROL         "",IDC_VIDEOVIEW,"Static",SS_BLACKFRAME,0,0,512,384
    LTEXT           "Press 'Screenshot' to save a screenshot to your 'My Pictures' directory.",IDC_STATUS,0,413,511,11,SS_SUNKEN,WS_EX_CLIENTEDGE
END


/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
    IDD_APP, DIALOG
    BEGIN
    END
END
#endif    // APSTUDIO_INVOKED


#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE 
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE 
BEGIN
    "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "#include ""windows.h""\r\n"
    "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "\0"
END

3 TEXTINCLUDE 
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED

#endif    // English (United States) resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED
4b9b3361

Ответ 1

Если вы этого еще не сделали, попробуйте добавить "SDK Path\Include" в:

Project → Preferences → C/C++ → General → Additional Include Directories

И добавьте "SDK Path\Lib" в:

Project → Preferences → Linker → General → Additional Library Directories

Также попробуйте изменить "Windows.h" на <windows.h>

Если это не поможет, проверьте физическое существование файла, он должен находиться в папке "\ VC\PlatformSDK\Include" в каталоге установки Visual Studio.

Ответ 2

Запустите Visual Studio. Откройте "Инструменты- > Параметры" и "Проекты и решения". Выберите VС++ Directories из дерева и выберите "Включить файлы" из комбо справа.

Вы должны увидеть:

$(WindowsSdkDir)\включают в себя

Если этого не хватает, вы обнаружили проблему. Если нет, найдите файл. Он должен быть расположен в

32-битные системы:

C:\Program Files\Microsoft SDK\Windows\v6.0A\Include

64-битные системы:

C:\Program Files (x86)\Microsoft SDK\Windows\v6.0A\Include

если VS был установлен в каталоге по умолчанию.

Источник: http://forums.codeguru.com/showthread.php?465935-quot-windows-h-no-such-file-or-directory-quot-in-Visual-Studio-2008!-Help&p=1786039#post1786039

Ответ 3

Если вы ориентируетесь на Windows XP (v140_xp), попробуйте установить поддержку Windows XP для C++.

Начиная с Visual Studio 2012, набор инструментов по умолчанию (v110) прекратил поддержку Windows XP. В результате может возникнуть ошибка Windows.h, если ваш проект ориентирован на Windows XP с пакетами C++ по умолчанию.

Проверьте, какая версия Windows SDK указана в вашем наборе инструментов платформы платформы. (Project → Properties → Configuration Properties → General). Если ваш набор инструментов заканчивается на _xp, вам нужно установить поддержку XP.

Visual Studio: Project toolset

Откройте установщик Visual Studio и нажмите "Изменить" для вашей версии Visual Studio. Откройте вкладку "Отдельные компоненты" и прокрутите вниз до "Компиляторы", "Инструменты сборки и среды выполнения". Внизу проверьте поддержку Windows XP для C++ и нажмите "Изменить", чтобы начать установку.

Visual Studio Installer: XP Support for C++

Смотрите также:

Ответ 4

В моем случае мне пришлось щелкнуть правой кнопкой мыши по решению и нажать "Перенаправить проекты". В моем случае я перенаправил на Windows SDK версии 10.0.1777.0 и Platform Toolset v142. Я также должен был изменить "Windows.h" на <windows.h>

Я использую Visual Studio 2019 версии 16.25 на компьютере с Windows 10

Ответ 5

Я получил эту ошибку фатальная ошибка lnk1104: не могу открыть файл 'kernel32.lib'. эта ошибка возникает из-за отсутствия пути в каталогах VC++. Чтобы решить эту проблему

Откройте Visual Studio 2008

  1. перейдите в Инструменты-опции-Проекты и решения- VC++ directories- *
  2. затем в правом углу выберите Библиотечные файлы
  3. здесь вам нужно добавить путь к kernel132.lib

В моем случае это C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib