当前位置: 首页 > 知识库问答 >
问题:

无法打开包含文件:“stdio. h”-Visual Studio社区2017-C错误

柴泰平
2023-03-14

我试图在Visual Studio Community 2017上构建一个解决方案,但我不断收到错误“无法打开include文件:‘stdio.h’”。

我已经阅读了几个类似的问题,但我仍然无法解决这个问题。它看起来像stdio。h文件在stdafx中调用。h文件。以下是更多详细信息。有什么建议吗?

系统详细信息:

  • Windows 10

第1步:我写了著名的Hello, World!用C编写程序。

#include "stdafx.h"
#include <iostream>

using namespace std;

int main()
{
    cout << "Hello, World!" << endl;
    return 0;
}

第二步:我点击了Build→ 构建解决方案。

问题:“stdio。h:没有这样的文件或目录。完全错误:

1>------ Build started: Project: HelloWorld, Configuration: Debug Win32 ------
1>stdafx.cpp
1>c:\users\dahiana mini\desktop\learncpp\helloworld\helloworld\stdafx.h(10):
    fatal error C1083: Cannot open include file: 'stdio.h': No such file or directory
1>Done building project "HelloWorld.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

故障排除细节和我尝试过的事情:

>

  • 配置属性*→VC目录包含目录$(VC_IncludePath);$(WindowsSDK_IncludePath);

    截图:解决方案资源管理器(项目中的文件)

    stdafx中的代码。cpp文件:

    // stdafx.cpp : source file that includes just the standard includes
    // HelloWorld.pch will be the pre-compiled header
    // stdafx.obj will contain the pre-compiled type information
    
    #include "stdafx.h"
    
    // TODO: reference any additional headers you need in STDAFX.H
    // and not in this file
    

    stdafx中的代码。h文件:

    // stdafx.h : include file for standard system include files,
    // or project specific include files that are used frequently, but
    // are changed infrequently
    
    #pragma once
    
    #include "targetver.h"
    #include <stdio.h>
    #include <tchar.h>
    

    注:#包括

    尝试:我试图删除最后两行,但后来我得到了更多的错误。

    尝试:由于许多人建议不需要stdafx. h,我尝试删除第一行,#include"stdafx. h"。但为了使其工作,我必须做更多。请参阅下面的答案。


  • 共有3个答案

    公良子轩
    2023-03-14

    有三种方法可以解决这个问题。

    >

    我第一次安装Visual Studio时,会收到一个错误,指出我需要安装Windows SDK 8.1。所以我通过Visual Studio Installer的修改选项做到了。也许这是一个问题,因为我是在已经安装了Visual Studio之后安装的,或者因为我需要SDK 10。为了安全起见,我进行了完全重新安装。

    燕俊明
    2023-03-14

    面临缺少stdlib的问题。h和stdio。在一台新计算机上安装VS2017社区并将解决方案从VS2013迁移到VS2017之后。

    使用了@Maxim Akristini的建议,但仍然得到了关于工具集兼容性的错误消息。然而,VS本身建议通过在解决方案资源管理器中右键单击解决方案,然后从菜单中选择重新定位解决方案,并从下拉列表中选择更新的Windows SDK版本来执行解决方案重新定位。

    现在我的项目没有问题。

    请注意,您可能需要将项目设为您的启动项目,以便重定向捕获。

    那鹏
    2023-03-14

    我在从Visual移植项目时遇到了同样的问题

    修复:将属性→常规→Windows SDK版本更改为10

     类似资料:
    • 我有以下C文件。 我打开VS 2017的Developer Command Prompt实例并键入该命令。 我收到以下错误消息 我不确定如何解决这个问题。

    • 我把Visual Studio从社区2015升级到了社区2017。现在,当我编译时,我得到错误消息,说“Error (active) E1696无法打开源文件“stdio.h”,引用的行如下所示: 如果我创建一个新项目,则会找到 stdio.h。 因此,我查看了项目配置属性- 所以似乎需要设置VC_IncludePath,但我找不到任何设置的地方。请注意,我找不到宏的,这可能是因为我使用的是 Vi

    • 我正在尝试将Boost C库添加到使用Visual Studio 2017创建的C项目中。 我已按照此处的说明进行操作。当这不起作用时,我尝试了这篇文章中的建议。这两种解决方案都不适合我。 我所做的: 已从预编译的增强库页面下载 已安装到 在我的项目中,我将 添加到“属性” 当我试图构建我的项目时,我得到了这个错误: 错误C1083无法打开包含文件:“boost/regex.hpp”:没有这样的文

    • 问题内容: 我正在尝试使用JNI将.C代码与我的Java项目集成在一起。 在Visual Studio 2017中尝试使用vcvars32.bat生成.dll文件时,它给了我一条错误消息,提示: “ C:\ Program Files \ Java \ jdk1.8.0_151 \ include \ jni.h(39):致命错误C1083:无法打开包含文件:’stdio.h’:没有这样的文件或目

    • 问题内容: 我正在尝试运行,但始终给我一个错误“ 无法打开包含文件:’config- win.h’ ”。 在我的Mac和另一台Windows机器上,该安装工作正常,但在此机器上却不能。我已经下载了Visual Studio C ++,并尝试同时安装32位和64位。 问题答案: 对于64位Windows 使用滚轮安装 从 http://www.lfd.uci.edu/~gohlke/pythonli

    • 问题内容: ft2build.h 位于: C:\ Program Files \ GnuWin32 \ include 最初,我犯了与这里相同的错误: 严重错误C1083:无法打开包含文件:’tiffio.h’:无此类文件或目录VC ++2008 但自那时以来,我已纠正了该特定错误(我已将上面的目录添加到“包括”列表中,而不是“可执行文件”列表中),但仍然出现错误。完整的输出是这样的: 我应该提到