Microsoft.Cpp.Win32.user

TIPS:

1.微软每推出一个重要的windows版本,一般都会同时推出一个SDK(Software Development Kit)。SDK包含了开发该windows版本所需的windows函数和常数定义、API函数说明文档、相关工具和示例。SDK一般使用C语言,但不包括编译器。高版本VC++包括了SDK所有的头文件、帮助、示例和工具,不需要再安装SDK,低版本如VC++5.0则需要安装SDK

2.在目录C:\Program Files (x86)\Microsoft SDKs\Windows中可以看到你所安装过的所有SDK版本.当你进入这些目录的时候你会发现每个都不相同,所以在VS中也有对应每个SDK版本的名称,如:$(WindowsSdkDir_71A)lib,可以看到对应的版本不言而喻.

Microsoft.Cpp.Win32.user_第1张图片

3.有时候我们为了我们的程序支持低版本操作系统,可以在General Configuration(图为VS2012)中的Platfrom Toolset 如下设置:

Microsoft.Cpp.Win32.user_第2张图片

这时候会发现VS属性中Include Directories 和 Library Directories会自动回溯到以前的SDKS 路径,就是为了支持旧操作系统.

4.在VS2012中有一个Developer Command Prompt for VS2012(VS每个版本对应各自的Command),打开,输入"set",你会发现所有的配置路径都可以找到.有人说如何修改这些配置??   Good point! 我也不会.   But......(观众甲:中国梦之声看多了吧),我们可以曲线救国(观众乙:中国还有救?校长QJ学生,医生FM婴儿,检察官PC).咳咳咳...这位同学你是来砸场的吧,城管,上称砣,走你...回到正题,我们请出今天最重要的角色--"Microsoft.Cpp.Win32.user",通过它我们可以配置自己的属性文件.在文章最后有更具体的说明.


不好意思,说了这么多的废话,下面才是解决了我的问题.如果你修改过这配置文件,那也要注意了.

    今天安装了VS2012,程序无法编译通过,提示缺少XXX.lib文件。发现"Include Directories"中的路径设置的不对,头文件没有指向VS2012的SDK(C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A),每个版本的SDK目录结构不同,所以目录中$(WindowsSdkDir)include的SDK名称也不一样。原来是用户配置信息“Microsoft.Cpp.Win32.user”被VS2012读取,VS2012读取了VS2010的SDK目录,导致inculde头文件出错.

说的简洁了一点,如果你还是没看懂请反复参考TIPS1--4.



引用他人的图文:

VC Directory设置的位置和以前的版本不一样。VS2010之前,VC Directory的设置都是在IDE的Tools->Options中设置的;VS2010改为,分别在每个项目中的Properties中设置。如下图:

 

难道要每个项目都设置一遍常用的Include吗?答案是,不用。

 

在IDE中,打开View->Other Windows->Property Manager。展开树形后,你会发现一个名为“Microsoft.Cpp.Win32.user”的项目(如下图)。

 

右击并点击“Properties”后,你会看到一个和VC Project properties类似的属性设置框。

 

现在,你应该知道答案了吧。对,就是这里。只要将常用的Include都放入这里就可以达到你要的效果。

你可能感兴趣的:(Microsoft.Cpp.Win32.user)