[分享]vs2017+WDK 如何解决 warning MSB8038: 已启用 Spectre 缓解

错误提示:  

Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(402,5): warning MSB8038: 已启用 Spectre 缓解,但找不到 Spectre 缓解库。验证 Visual Studio 工作负荷包括 Spectre 缓解库。

1>LINK : fatal error LNK1104: 无法打开文件“msvcrt.lib”

 

 解决方案:

安装libs for spectre(X86 and X64),这个组件在安装vs2017时默认不安装的。 

 

 

根据2楼的提示 补充

引用

 

Spectre小计

 

https://www.cnblogs.com/qiyueliuguang/p/10370292.html


 

 

 

具体解决办法如下:

[分享]vs2017+WDK 如何解决 warning MSB8038: 已启用 Spectre 缓解_第1张图片

把Spectre缓解改成警用即可。

但这种方法每个新的项目都需要修改,所以建议安装对应的包。具体包看截图:

[分享]vs2017+WDK 如何解决 warning MSB8038: 已启用 Spectre 缓解_第2张图片[分享]vs2017+WDK 如何解决 warning MSB8038: 已启用 Spectre 缓解_第3张图片

 

 

广告站csdn有图

 

引用

 

https://blog.csdn.net/LEON1741/article/details/87392536

 

 

昨天在电脑上安装了VS2017+WDK了之后,遇到了一个很匪夷所思的问题:不管是编译任何工程,包括之前所有完全正常的项目,都会提示一个类似的错误:

 

 

1>------ 已启动生成: 项目: MyUSBEnum, 配置: Debug x64 ------

1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(402,5): warning MSB8038: 已启用 Spectre 缓解,但找不到 Spectre 缓解库。验证 Visual Studio 工作负荷包括 Spectre 缓解库。有关详细信息,请参阅 https://aka.ms/Ofhn4c。

1>LINK : fatal error LNK1104: 无法打开文件“MSVCRTD.lib”

1>已完成生成项目“MyUSBEnum.vcxproj”的操作 - 失败。

========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

1

2

3

4

5

换一个项目,提示的内容可能不完全一致,但是都是有一个MFC的库文件(比如mfc140d.lib等等)找不到。而这些工程之前明明都是OK的,完全没有问题的。这就奇怪了…

 

于是去百度、google、一大堆,各种尝试,很多人说是要修改项目配置,增加库文件的包含路径和头文件的包含路径。可是,这些项目我之前都是OK的,为什么会集体出现这个问题呢?肯定不是某个项目本身的配置的问题,于是继续查找…

 

最后,终于在微软的Developer Community里找到一篇帖子(点击此处跳转),官方技术人员提示需要安装libs for spectre(X86 and X64),这个组件在安装vs2017时默认不安装的。于是打开vs2017 installer,在单个组件tab中找到libs for spectre(X86 and X64),以及带有spectre缓解措施的ATL和MFC补丁,安装完成以后,再次编译C++ Project就可以通过了。如下:

 

 

搞定

 

 

 

 

 

 

https://bbs.pediy.com/thread-249925.htm

 

你可能感兴趣的:(Visual,Studio,程序设计)