VS2013找不到winres.h的解决办法

发布时间:2020-08-03 17:39:22 作者:飞涟
来源:网络 阅读:19977

 好久没有搞C++了,搞C++最烦就各种版本问题的报错。我对C++项目开发不是很熟悉,因为项目需要用VS2013修改一个C++/MFC工程,一编译就报错无法打开包括文件:“winres.h”: No such file or directory.

 上网查了一下,这个'winres.h'是Windows SDK的一个头文件,打开C盘找一下,果然在Windows SDK目录C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include下面。

 如果我猜测没错,那么原因应该很简单了,就是这个项目工程没有引用到Windows SDK。

打开C:\Users\Administrator\AppData\Local\Microsoft\MSBuild\v4.0\下的Microsoft.Cpp.Win32.user.props可以配置VC项目默认的Include和Lib文件,打开来一看,里面明明有$(WindowsSdkDir)include,就是说VS2013默认是有配置Windows SDK路径的,为什么还是找不到这个winres.h呢。

     打开注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSDKs\Windows\CurrentVersion and CurrentInstallFolder看一下

 VS2013找不到winres.h的解决办法

    默认的环境变量WindowsSdkDir是指向Windows Sdk的目录没错啊,怎么回事呢?再上网查一下终于明白怎么回事了,C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A下的SDK是老版本的Windows SDK,最新的Windows SDK被我安装在C:\Program Files (x86)\Windows Kits\8.0\Include下,而且VS2013默认使用的环境变量$(WindowsSDK_IncludePath),该环境变量包含了最新Windows SDK的下个的3个头文件目录:

 C:\Program Files (x86)\Windows Kits\8.0\Include\um

 C:\Program Files (x86)\Windows Kits\8.0\Include\shared

 C:\Program Files (x86)\Windows Kits\8.0\Include\winrt

另外$(WindowsSDK_LibraryPath_x86)指向了新版SDK的Lib文件目录.

 最后的解决办法应该是老版本$(WindowsSdkDir)目录应该被抛弃,新版环境变量调换掉老的环境变量。打开C:\Users\Administrator\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props,修改方法如下图:

VS2013找不到winres.h的解决办法

 红圈部分的$(WindowsSdkDir)include和$(WindowsSdkDir)lib删掉,新增$(WindowsSDK_IncludePath)和$(WindowsSDK_LibraryPath_x86)。

 VC++开发有关新环境变量:

1. VC_LibraryPath_x64 = D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\amd64;D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\lib\amd64

2. VC_LibraryPath_x86 = D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib;D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\lib

3. WindowsSDK_IncludePath = C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.1\Include\winrt

4. WindowsSDK_LibraryPath_x64 = C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64

5. WindowsSDK_LibraryPath_x86 = C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86




 

推荐阅读:
  1. 显示找不到命名信息,因为指定的域不存在,或无法联系 解决办法
  2. maven项目中找不到Maven Dependencies解决办法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++ mfc winres

上一篇:stack,heap的区别

下一篇:vue项目持久化存储数据的实现代码

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》