今天安裝了vs2019,而后又安裝了wdk,隨便寫了一個控制台測試程序,居然報錯。網上也查了一圈,也沒有得到解決。報錯內容如下:
MSB8038:已啟用Spectre緩解,但找不到Spectre緩解庫。驗證Visual Studio工作負荷包括Spectre緩解庫。 LNK1104:無法打開文件"msvcprtd.lib".
截圖如下:
看了報錯,應該是缺少msvcprtd.lib這個文件或者路徑錯了。打開vs設置,查看一下庫路徑。發現$(VC_LibraryPath_x86)宏對應的路徑如下:
我搜了一下這個路徑,根本就不存在,沒有找到帶Spectre的目錄,這就難怪會報錯了,要解決這個問題,首先想到的是改一下這個宏,找了半天,發現這個宏在一個文件中,也找到了對應的修改的地方。但是覺得修改vs默認的配置不是很好,所以需要另外想辦法,發現這個Spectre和上面的警告有關,於是百度了一下,找到了下面的連接:https://docs.microsoft.com/zh-cn/cpp/build/reference/qspectre?view=vs-2017。里面詳細介紹了這個Spectre的CPU漏洞相關補丁。
具體解決辦法如下:
把Spectre緩解改成警用即可。
但這種方法每個新的項目都需要修改,所以建議安裝對應的包。具體包看截圖
至此問題順利解決。