昨天用VS2017新建了一個(gè)C++項(xiàng)目, 但是在編譯的時(shí)候卻遇到了一個(gè)LINK錯(cuò)誤。我猜是C++編譯器沒安裝好,于是修復(fù)了好幾次,又重新安裝了C++編譯工具。但是仍然出現(xiàn)這個(gè)錯(cuò)誤。
后來我發(fā)現(xiàn)這個(gè)目標(biāo)程序版本有關(guān)系,如果我將目標(biāo)版本設(shè)置為14393,就可以正常編譯,但是如果我將版本改為目前的15063,就出現(xiàn)了上面的錯(cuò)誤。我一看這應(yīng)該是SDK的問題,于是打開安裝工具準(zhǔn)備安裝新的SDK。但是沒想到安裝失敗了,這下不僅無法編譯,就算改回14393也不行了。哪怕是使用安裝工具的修復(fù)功能,仍然無法解決。
在查閱了一番之后,我發(fā)現(xiàn)這是一個(gè)VS2017的已知問題,當(dāng)然既然是已知問題,那么應(yīng)該有相應(yīng)的街頭激發(fā)。下面說一下解決辦法。
解決辦法
下載單獨(dú)SDK
解決辦法很簡(jiǎn)單,由于安裝工具不能下載SDK,那么只需要安裝獨(dú)立的SDK即可。
首先到這里下載Windows 10 的單獨(dú)SDK,頁面中的exe或iso都可以,如果一種不行就試試另一種。
下載完成之后,用管理員身份打開,安裝工具會(huì)詢問你的SDK安裝位置。將安裝位置修改為你VS2017的SDK安裝位置,比方說我的就是C:\Program Files (x86)\Windows Kits\10\WindowsSDK。

重新啟動(dòng)安裝工具
然后等待安裝完成。之后重啟VS安裝工具,再次安裝所需的SDK。這次由于已經(jīng)安裝了,所以安裝工具會(huì)自動(dòng)忽略這些SDK,因此就能成功安裝了。
之后,再打開C++項(xiàng)目,就可以成功編譯!