Visual Studio 2017 (x86 and x64) – DVD (Chinese-Simplified) 離線完整安裝包
鏈接: https://pan.baidu.com/s/1pLRryYn 密碼: bbjq
鏈接: https://pan.baidu.com/s/1skPdqpf 密碼: r7ns
安裝VS2017
Vs2017包含3個版本:社區版(Visual Studio Community免費)、專業版Visual Studio
Professional、企業版Visual Studio Enterprise
以下是三個版本的區別:
這裏選擇安裝企業版本:
下載地址:https://visualstudio.microsoft.com/zh-hans/vs/enterprise/
下載得到一個很小的exe,雙擊運行會安裝Visual Studio Installer。
Vs2017的安裝和卸載使用Visual Studio Installer來進行配置。由於vs2017集成的插件非常多,完整的離線安裝包多達50GB,另外隨着版本更新,會有更多的插件進行更新。因此vs2017使用安裝管理器來進行安裝。
VS2017集成了很多平臺的工具。這裏爲了使用VS2017進行C/C++語言的windows桌面開發。我們只需要選擇Windows的“使用C++的桌面開發”選項和其他工具集的“Visual Studio擴展開發”即可:
如果需要兼容XP等操作系統並且需要編寫MFC應用程序,還需要在單個組件欄選擇如下複選項:
如果你安裝了WDK,爲了能使windows桌面開發繼續正常使用,應當安裝如下單個組件:
主要是下面三個,上面的2個組件時附帶自動勾選。
安裝完成後,只需要在啓動的時候進行開發環境設置即可(如果有自己的微軟賬號,登陸即可完成環境的配置同步,或者導入曾經導出的配置文件。)
最後在菜單->幫助->註冊產品,在其中輸入序列號即可激活。
序列號:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF
創建控制檯項目
現在新建一個windows 控制檯應用程序。
文件->新建->項目,將彈出如下新建項目的對話框:
設置項目名稱和項目所在的文件夾路徑後點擊確定,vs2017即爲項目創建目錄和該工程模版文件。
當我們創建完畢後,就會看到類似如下的界面(排版佈局會有所區別,依賴於自己的主題和佈局):
注意:vs2017創建新項目時會默認創建一個和項目名稱一樣的解決方案,解決方案包含項目,一個解決方案可以包含多個項目,其目錄結構也是如此。
項目屬性介紹
我們查看ConsoleApplication1項目的項目屬性:在項目上右擊,選擇屬性
項目屬性的設置依據我們的配置有關,一個項目的編譯可以採用不同的方式進行編譯:
比如x86或者x64,debug或者release,每一個新的配置都對應一個新的配置內容,也即這些配置之間互不影響。
從上圖,看到了C++的項目屬性。
該屬性頁使用很多的內置宏進行確定C++的庫目錄和項目生成文件的路徑等設置
例如:$(ProjectName)、$(MSBuildProjectName)我們在使用這些宏的時候只需要像C語言中的宏一樣看待就好。我們也可以通過如下方式查看宏的定義值:
隨便找到一個可以編輯的項,單擊編輯選項
彈出如下頁面:
可以看到,上圖中$(VC_IncludePath)和$(WindowsSDK_IncludePath)被展開成6個路徑.
我們單擊上圖指示的“宏”按鈕,查看定義的宏
可以看出,實際上VS2017爲了簡化操作定義了很多屬性宏,便於修改屬性的編譯和鏈接的配置。
比如,在我們項目的VC++目錄:
這些配置,規定了VS在進行代碼動態檢查、編譯和鏈接生成文件時查找庫、源代碼頭文件時使用的目錄。
有時候,我們的項目使用了其它項目的lib庫時,我們需要將這些第三方庫所在的目錄或者文件的路徑添加到“庫目錄”中,我們能夠看出,目錄項之間使用分號進行隔開。
預編譯頭的使用
VS2017使用模版創建項目時都會使用預編譯頭,其目的是加快編譯速度,用於多個文件引入相同的一組頭文件時對編譯器的預變異工作而言是重複工作,預編譯頭文件可以告訴編譯器不需要重複進行預編譯工作。Vs2017默認的預編譯頭文件是pch.h(precompiled header),如果想不使用預編譯頭的話,只需要在項目屬性裏面取消即可。
當不使用預編譯頭後,刪除源代碼對pch.h的引用,也不會報錯。
安裝WDK
對於wdk的安裝,我們可以參考微軟給出的文檔:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk
其意思是:
首先安裝VS2017的任意版本。
然後下載wdk的在線安裝包。
Wdk的安裝部分分成兩個部分:
第一:安裝Wdk(同時vs2017在之前應當安裝了對應版本的SDK,二者版本號前三部分對應即可)
第二:配置VS2017,安裝,在vs2017中添加創建驅動編寫項目的模版。
安裝完成後,將無法編譯基本的window 桌面程序,報錯提示是
“LINK : fatal error LNK1104: 無法打開文件“msvcprtd.lib””
顯然,是找不到庫了,我們查看安裝WDK前後同一項目的屬性->VC++目錄->庫目錄的計算值:
未安裝WDK時,庫目錄的實際展開值(注意下圖窗口的標題):
安裝WDK後,庫目錄的實際展開值:
顯然,雖然項目的屬性保存在各個項目所在的磁盤上,但是同樣的屬性宏的解析結果卻不同 ,這是因爲VS2017會根據實際安裝情況動態的設置屬性宏的實際值。
由於安裝了 WDK後,庫目錄的值發生變化導致無法正確的找到導入的庫,才使得編譯失敗。
根據以上找不到庫目錄的問題,有兩種解決辦法:
方法一:將未安裝WDK情況下的庫目錄添加到庫目錄中。
方法二:由於安裝WDK後新的$(VC_LibraryPath_x86)的值被修改,然而磁盤上並不存在該目錄,因此安裝該功能即可。
具體方法是:打開visual studio installer的單個組件中添加如下組件:(注意:從上面一個圖中我們可以看出使用的版本是14.16,因此應當選擇14.16的版本)
當這些單個組件安裝完畢後,即可完成正常的編譯工作。