安裝VS2017
Vs2017包含3個版本:社區版(Visual Studio Community免費)、專業版Visual Studiowindows
Professional、企業版Visual Studio Enterprise工具
如下是三個版本的區別:佈局
這裏選擇安裝企業版本:ui
下載地址:https://visualstudio.microsoft.com/zh-hans/vs/enterprise/url
下載獲得一個很小的exe,雙擊運行會安裝Visual Studio Installer。spa
Vs2017的安裝和卸載使用Visual Studio Installer來進行配置。因爲vs2017集成的插件很是多,完整的離線安裝包多達50GB,另外隨着版本更新,會有更多的插件進行更新。所以vs2017使用安裝管理器來進行安裝。操作系統
VS2017集成了不少平臺的工具。這裏爲了使用VS2017進行C/C++語言的windows桌面開發。咱們只須要選擇Windows的「使用C++的桌面開發」選項和其餘工具集的「Visual Studio擴展開發」便可:.net
若是須要兼容XP等操做系統而且須要編寫MFC應用程序,還須要在單個組件欄選擇以下複選項:插件
若是你安裝了WDK,爲了能使windows桌面開發繼續正常使用,應當安裝以下單個組件:debug
主要是下面三個,上面的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,運行WDK安裝目錄下的VS擴展插件(Windows Kits\10\Vsix\WDK.vsix文件)安裝,便可完成在vs2017中添加建立驅動編寫項目的模版。注意:若是雙擊該WDK.vsix文件沒法正常打開(這代表安裝完成WDK後也不會主動安裝此插件),請重啓電腦後,在沒打開過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的版本)
當這些單個組件安裝完畢後,便可完成正常的編譯工做。