首先:我正在使用Microsoft Visual Studio 2012
我是C#/ Java开发人员,现在我正在尝试使用Microsoft SDK和C ++为kinect编程。所以我开始使用Color Basics示例,我无法编译它。 起初,没有一个类能够找到Windows.h.所以我安装了(或者重新安装,我不确定)Windows SDK,并将SDK的include目录添加到项目的包含“路径”中。然后所有问题都消失了,除了一个:
Error 5 error RC1015: cannot open include file 'windows.h'. C:\temp\ColorBasics-D2D\ColorBasics.rc 17 1 ColorBasics-D2D
那就是错误。没有理由,系统可以找到它,因为它被用在多个其他文件中,只有这个文件无法使用它。作为参考,整个文件是bugging(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
答案 0 :(得分:21)
如果您还没有这样做,请尝试将"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>
如果没有帮助,请检查文件是否存在,它应该位于Visual Studio安装目录的“\ VC \ PlatformSDK \ Include”文件夹中。
答案 1 :(得分:13)
启动Visual Studio。转到工具 - >选项,然后展开项目和解决方案。 从树中选择VC ++目录,然后从右侧的组合中选择包含文件。
您应该看到:
$(WindowsSdkDir)\包括
如果缺少这个,你就发现了一个问题。如果没有,请搜索文件。它应该位于
32位系统:
C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Include
64位系统:
C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v6.0A \ Include
如果VS安装在默认目录中。
答案 2 :(得分:3)
如果要使用Windows XP(v140_xp
),请尝试安装 Windows XP对C ++的支持。
从Visual Studio 2012开始,默认工具集(v110)不再支持Windows XP。因此,如果您的项目使用默认的C ++软件包将Windows XP作为目标,则可能会发生Windows.h
错误。
检查在项目的 Platform Toolset 中指定了哪个Windows SDK版本。 (Project → Properties → Configuration Properties → General
)。如果您的工具集以_xp
结尾,则需要安装XP支持。
打开Visual Studio安装程序,然后为您的Visual Studio版本单击修改。打开单个组件标签,然后向下滚动至编译器,构建工具和运行时。在底部附近,检查 Windows XP对C ++的支持,然后单击修改开始安装。
答案 3 :(得分:1)
对于我来说,我必须右键单击解决方案,然后单击“重新定位项目”。
就我而言,我将目标重定向到Windows SDK版本10.0.1777.0和Platform Toolset v142。我还必须将"Windows.h"
更改为<windows.h>
我正在Windows 10计算机上运行Visual Studio 2019版本16.25
答案 4 :(得分:0)
1)转到C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A for VS2013
2)复制文件夹Include
和Lib
(您应检查文件夹窗口中的文件夹在哪里,例如v7.1
,v8
,v6
等)
3)将它们粘贴到C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC
我解决了以下问题:
错误lnk1104:无法打开文件“ kernel32.lib”。
错误c1083:无法打开Windows.h
谢谢。
答案 5 :(得分:0)
答案 6 :(得分:-1)
我收到此错误致命错误lnk1104:无法打开文件'kernel32.lib'。由于VC ++目录中没有路径,因此会出现此错误。解决这个问题
打开Visual Studio 2008
在我的情况下它是C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Lib