[工程構建] 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。

 

Windows SDK 的下載和版本兼容性問題:

目錄解釋:

上面說到了Windows Kits目錄 和 Microsoft SDKs目錄,我們知道Windows SDK在Windows Kits目錄下,如下:

進入相應目錄,可以看到

再點進去,便可以看到當前已經下載的 SDK 版本有哪些:

這些版本號目錄下存放的便是 .h 文件 和 .lib 文件,比如 WS2_32.Lib 就在 \um\x86 下。

可以認爲:Windows Kits下存放的就是 Windows SDK

下載:

我們可以在如下地址下載SDK :https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/

兼容性:

在下載頁面中可以找到關於此SDK的一些說明,其中就包括使用此SDK生成的代碼可以在那些操作系統版本上運行,比如:

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章