VS2017/VS2019 找不到 Spectre 緩解庫的解決

今天用 VS2017 編譯程序時,發現出錯了。原來編譯是沒有問題的,肯定是 VS2017 更新的緣故。
提示:
  warning MSB8038: 已啓用 Spectre 緩解,但找不到 Spectre 緩解庫。驗證 Visual Studio 工作負荷包括 Spectre 緩解庫
  fatal error LNK1104: 無法打開文件“LIBCMT.lib”
  fatal error LNK1104: 無法打開文件“libcpmt.lib”
  fatal error LNK1181: 無法打開輸入文件“delayimp.lib”

解決辦法:
刪除
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.Cl.Common.props
文件此句:
 <SpectreMitigation    Condition="'%(ClCompile.SpectreMitigation)'   == ''">$(SpectreMitigation)</SpectreMitigation>

就 OK 了。

如果你安裝了 WDK ,也按此法刪除 WDK 的 Spectre 緩解 
文件默認位置:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Platforms\x64\ImportBefore\Default\Microsoft.Cpp.WDK.props

此方法也適用於 VS2019。

當然你也可以安裝 Spectre 緩解庫,來解決。這就無需多說了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章