幫VS2019 找回丟失的 SDK問題
緣起
前一段時間,有網(wǎng)友遇到一個奇怪的問題,說他機(jī)器上的 vs2019
編譯 C++
工程報錯。我當(dāng)時一聽就有兩個懷疑:
1.工程設(shè)置不對。
2.vs2019
沒裝好。
因為新建一個最簡單的工程,編譯也報一樣的錯誤,所以可以排除工程設(shè)置的問題了。那只有可能是 vs2019
的問題了。但是具體是哪里的問題呢?
他按照錯誤提示搜索到了如下鏈接:
據(jù)鏈接里的提示,做過嘗試,沒能解決問題。后來在我們溝通的過程中,他自己解決了問題,這不就是大名鼎鼎的橡皮鴨調(diào)試法嗎?當(dāng)他的問題解決后,我特意在本地重現(xiàn)了整個過程,做了一些調(diào)查,整理成本文,分享給大家。
編譯受阻
我用 vs2019
新建了一個最簡單的 Hello world
工程,編譯,報錯如下:
Error MSB8037 The Windows SDK version 10.0.18362.0 for Desktop C++ x86 Apps was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution".
更直觀的報錯截圖如下:
問題排查
既然提示找不到對應(yīng)版本的 SDK
,那么先到工程屬性里看一下對應(yīng)的配置。在工程上, 右鍵
-> 屬性
。在工程屬性對話框中選擇 Configuration Properties
下的 General
。在右側(cè)查看 Windows SDK Version
的值,確實是 10.0.18362.0
,如下圖。
工程 SDK Version 配置
本地搜一下 10.0.18362.0
,看看本地是否存在相關(guān)的路徑。
everything 搜索結(jié)果
本地也存在相關(guān)路徑。能想到的可以懷疑的地方都排除了。接下來請出我們的老朋友 —— process monitor
。
深入調(diào)查
打開 process monitor
,開啟監(jiān)視,在 vs
中開始編譯,問題重現(xiàn)后,停止監(jiān)視。
下面就要進(jìn)行最重要的步驟了—— 過濾。
使用 process monitor
快速解決問題的關(guān)鍵在于過濾出與問題有關(guān)的事件!
我們需要根據(jù)什么條件過濾呢?
一般操作結(jié)果是成功的事件對我們幫助不大,所以首先過濾掉 Result
是 SUCCESS
的事件。
既然提示的是找不到 10.0.18362.0
版本的 SDK
,相關(guān)錯誤應(yīng)該和 10.0.18362.0
有關(guān),所以只保留 Path
中包含 10.0.18362.0
的記錄。
沒想到,效果這么好,只有六條。
其中,有兩條是注冊表中找不到 HKLM\Software\WOW6432Node\Microsoft\Microsoft SDKs\Windows\v10.0.18362.0
(這個注冊表項不是必須存在的,在能正常編譯的機(jī)器上也可能找不到),最后一條是找不到文件 C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\sdkddkver.h
??磥?,應(yīng)該是我本地少了這個文件。因為我故意把這個文件重名了,改回來,重新編譯,搞定。
具體調(diào)查過程請參考下面的屏幕錄像。
troubleshoot-missing-sdk-10.0.18362.0-screen-record 后記
跟這位網(wǎng)友溝通的整個過程特別順暢,省心。他已經(jīng)根據(jù)線索在網(wǎng)上搜索了相關(guān)資料,自己摸索了一番。懷疑哪里有問題,立刻能查看相關(guān)的配置進(jìn)行排查。最后,在溝通的過程中,他自己就把問題解決了。原來,他在前幾天把一些文件的位置給改了,改回來就好了。后來聊天得知,他才大二,后生可畏!
總結(jié)
到此這篇關(guān)于幫VS2019 找回丟失的 SDK問題的文章就介紹到這了,更多相關(guān)vs2019 找回丟失的 SDK內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一篇文章帶你了解C語言浮點數(shù)之間的比較規(guī)則
這篇文章主要介紹了魔性的float浮點數(shù)精度問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-08-08C語言深入探究sizeof與整型數(shù)據(jù)存儲及數(shù)據(jù)類型取值范圍
在main函數(shù)中,sizeof是可以正常工作的,但是在自定義函數(shù)中就不可以了。所以本文將為大家詳細(xì)講解一下關(guān)鍵字sizeof、整型數(shù)據(jù)存儲深入、數(shù)據(jù)類型取值范圍深入2022-07-07C++ OpenCV實現(xiàn)抖音"藍(lán)線挑戰(zhàn)"特效
這篇文章主要介紹了如何使用OpenCV C++ 實現(xiàn)抖音上的特效“藍(lán)線挑戰(zhàn)”。文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)OpenCV有一定的幫助,需要的可以參考一下2022-01-01C語言實現(xiàn)AT指令A(yù)SCII碼的拼接處理流程
今天小編就為大家分享一篇關(guān)于C語言實現(xiàn)AT指令A(yù)SCII碼的拼接處理流程,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12Qt模仿Windows文件夾縮略圖的三種實現(xiàn)方式
本文講的不是簡單的model/view或者widget的或者QML的基礎(chǔ)框架實現(xiàn),而是在這些框架之上的肉(文件夾縮略圖)的效果實現(xiàn),本文將以QWidget、Qt Quick(QML)、以及QGraph三種實現(xiàn)方式來講解,如何做出和Windows類似的縮略圖,需要的朋友可以參考下2024-04-04