[工程构建] Windows开发环境一些路径的注解
前言:
在windows下做c++开发,经常会遇到一些头文件找不到、符号找不到、动态库找不到等问题。因此有必要梳理一下C盘下的一些目录中到底存放了哪些东西,做这件事情:
- 一是便于解决开发环境下的问题;
- 二是有利于我们开发夸系统版本运行的程序,很多时候,开发环境下正常运行的程序一旦丢到目标环境下运行,很大概率无法正常运行。
架构:
C盘下一般会有这样两个目录:
Program File
Program File(x86)
Program File为64位应用程序的默认存放路径,Program File(x86)为32位程序的默认存放路径。
像vs这样的软件一般都是安装到Program File(x86)目录下。
VS安装路径:
vs2015及其之前的版本
vs2013的安装路径是Microsoft Visual Studio 12.0,可以在 C:\Program Files (x86) 中找到这个目录,我们在安装vs2013是选择的所有套件的SDK(.h .lib .dll)都存放在这个目录下,比如 .net python directx 等等。
Microsoft Visual Studio 12.0下又有一个VC目录,这个目录中存放了C/C++的基本SDK(.h .lib .dll),比如说 stdio.h就在这个路径下。
下表为不同vs对应的安装目录名称
vs2015 | Microsoft Visual Studio 14.0 |
vs2014 |
Microsoft Visual Studio 13.0 |
vs2013 | Microsoft Visual Studio 12.0 |
vs2012 | Microsoft Visual Studio 11.0 |
vs2010 | Microsoft Visual Studio 10.0 |
vs2008 | Microsoft Visual Studio 9.0 |
... | ... |
vs 2015 之前的版本都会创建自己的目录,如果机器上装了多个版本的vs,那么在C:\Program Files (x86)中你可以同时看到以上目录的存在。
这就带来一个问题,C/C++的SDK存在多个版本,这些版本分别放在不同的路径下。这里需要注意,一旦弄错,整个工程的结构便会混乱,以后输出的exe也将出现依赖混乱。
比如 vs2013 开发环境中配置了 vs2015 的sdk,有可能开发时不会有问题(因为有些开发人员在配置环境时就是稀里糊涂,只要编译通过就行),但是一旦丢到目标机器上运行时就极可能会有各种各样的问题,比如目标机器上装的时2013的运行时库,而我们使用的是vs2013 IDE 和 vs2015 SDK,这就可能出现库文件版本不匹配的问题。
正常情况下,我们在打开对应版本vs时,vs会使用自己安装路径下的那个SDK作为默认SDK搜索路径(头文件搜索路径,库文件搜索路径)。
vs2017及其之后的版本
vs2017开始,便使用C:\Program Files (x86)下的公共目录Microsoft Visual Studio,在此目录中可以看到不同版本号,比如:
2017 和 2019 中的内容 和 之前的 Microsoft Visual Studio xx.0 是一样的, 即 vs 安装时指定的 套件以及这些套件对应的SDK。
SDK路径对比:
2013的SDK路径示例:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC 。 如下图
2017的SDK路径示例 :C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC 。如下图:
这一串数字是版本号,里面的内容和上图一样
PS:
C:\Program Files (x86)\Microsoft Visual Studio 12.0 目录截图:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community 目录截图:
Windows Kits目录 和 Microsoft SDKs目录
Microsoft SDKs 包含 Windows Kits,我们可以在VS管理界面中自定义选择安装那个版本的SDK
注:这里的SDK和Microsoft SDKs目录不是一回事,SDKs目录存放着Windows下各种开发语言的SDK合集,而这里的SDK专指C/C++语言的SDK,通过下面的截图也可以看出来。
安装SDK
具体流程为:工具 === > 获取工具和功能 ,弹出管理页面,并选择想要安装的C/C++ SDK版本:
安装成功后
相应的SDK将会被安装至: C:\Program Files (x86)\Windows Kits\ 内,具体的子目录由当前操作系统决定,比如本人机器为win10的系统,那么具体的安装路径则为 C:\Program Files (x86)\Windows Kits\10\bin。同级目录下还可以看到其他版本的SDK。