1. 程式人生 > >VS找不到windowssdkdir與VS中的環境變數巨集

VS找不到windowssdkdir與VS中的環境變數巨集

Visual Studio 2013(簡稱VS2013)編譯報錯:

"warning MSB8003: Could not find WindowsSDKDir variable from the registry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid version number."

環境:VS2013 Community Update 5、VC++ 32控制檯程式


問題分析:

以前使用VS的時候一直沒有問題,這次重灌系統後出現。重灌VS時為了節省時間,只勾選了MFC for C++,沒有完整安裝,導致VS的環境變數設定不完全。

VS的環境變數與Windows作業系統的環境變數意義與作用是一樣的,都是為了在設定路徑時起到替換的作用,在填寫路徑時使用相對路徑。當庫函式等安裝位置發生了變化,只用修改環境變數的值就可以起到全域性修改的作用。

使用方法:

cmd中:setx -m OPENCV_DIR D:\opencv\vc12

設定後在系統變數裡會出現對應的項

VS中:使用$符號加上括號呼叫,例如$(OPENCV_DIR)

Windows中的呼叫方法是%OPENCV_DIR%


VS中的環境變數——巨集

這個問題在微軟有過官方回覆,讓使用者升級到Update 2,實際並沒有什麼用,我的版本是Update 5,是沒有完整安裝導致的,所謂完整安裝也是裝了一堆用不到的、“早已過時”了的東西。


這個問題在對VS不熟悉的時候很難解決,原因是微軟把這個叫做巨集Macros,真的新手摸不著頭腦啊。

在VS設定中,編輯任意一個選項,點選下面的Macros,會列出所有VS中的環境變數。




解決辦法1:設定專案屬性,在Platform Toolset中設定為 2013 - XP,臨時的解決辦法。

解決辦法2:安裝WindowsSDK 8.1,自動設定好缺失的環境變數。

通過修改登錄檔的方法也可以修改環境變數,但是電腦中還是缺相關的SDK檔案。