windows 系统下找不到kernel32.lib
和windows.h
等问题
因为项目中一个硬件驱动只支持windows7,所以找了一个硬盘重装系统(window 7 64位官方纯净版)。装完之后又安装了VS2013,新建项目直接报错,找不到kernel32.lib
,打不开windows.h
等error,我感觉莫名奇妙,之前出现这种情况是因为装了多个版本VS才会出现,为什么我新系统也出现,真的很奇怪。因为需要用到VS+QT,所有紧接着安装了QT5.8,装好QT之后发现他喵的QT也出错,找不到shell32.lib
。我用了很久的windows10,也用了一段Ubuntu,都没有遇到过安装软件之后,系统库都配置不好的情况。为了彻底理解windows上的系统库和环境变量的工作原理,查了很多的资料。最后终于解决了问题,并加深了对VS和配置的理解。
首先了解一下Microsoft Windows SDK
:
维基百科 介绍了Windows SDK版本变迁和主要特性,主要理解不同操作系统对应不同版本的SDK,也就是为什么后面我们要引用C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib
这个路径,这里面的v7.1A
代表了windows 7的最后一个版本
系统环境变量:
环境变量是在操作系统中一个具有特定名字的对象