Visual studio 无法找到“assert.h”

问题描述 投票:0回答:4

我下载了 Visual Studio 2017 并提取了我的解决方案存储库。但是,我遇到了一些问题,因为在安装 VS 时似乎没有下载我以前计算机上的许多文件。

如非必要,我不想重新下载。我按照之前的步骤在旧计算机上下载 VS 2017。然而,我收到以下错误:

无法打开源文件“assert.h”

但对于多个文件,例如:

errno.h
float.h
corecrt.h
stddef.h
stdio.h
(还有 20 多个其他文件)。

如果我右键单击并选择出现错误的行上的打开文档,我会收到消息:

在当前源文件的目录或构建系统路径中找不到

文件

'_______.h'

但是,如果我转到包含路径,我可以找到如下文件:

cassert.h

cerrno.h
ostream.h
,但我被告知的文件都没有丢失。

主要是,我想知道是否有一个包含这些文件的目录我只需要添加到包含目录中,或者我是否只需要认输并重新安装。

c++ visual-studio-2017
4个回答
10
投票
使用 VS2017 我能够通过以下方式解决同样的问题:

    右键单击解决方案
  1. 选择“重定向解决方案”
  2. 从 Windows SDK 版本下拉列表中选择 SDK
  3. 单击“确定”按钮

enter image description here


4
投票
您的 Visual Studio 2017 安装可能缺少 C 软件包(它们

不会自动包含在使用 C++ 的桌面开发工作负载中)。

要安装它,请启动 Visual Studio 安装程序,转到

各个组件,然后选中 Windows 通用 C 运行时

enter image description here

我认为在添加

Linux development with C++ 工作负载时,该组件也会自动标记为安装。


2
投票
我通过卸载原始安装的 Visual Studio(2019 版),然后重新安装并包含工作负载

使用 C++ 进行桌面开发解决了该问题。

与上述解决方案相反,我不需要(并且没有帮助)添加 Windows 通用 C 运行时。


0
投票
我知道你问了很长时间,你现在可能已经完成了大学学位。

但这个问题至今仍然具有现实意义。我按照这个

说明(2016年起)解决了这个问题

在以下位置搜索注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Kits\Installed Roots
对于 

KitsRoot10 变量,并将其指向 x86

 文件夹,因此将 
Program Files
 替换为 
Program Files (x86)
,例如 
C:\Program Files (x86)\Windows Kits\10\

还要检查此注册表路径,该变量是否设置相同:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows Kits\Installed Roots
类似问题有几个相同的答案,

therethere 这可能是
这个问题的根本原因。

你真丢脸

微软

© www.soinside.com 2019 - 2024. All rights reserved.