Include-Datei kann nicht geöffnet werden:stdio.h – Visual Studio Community 2017 – C++-Fehler

Include-Datei kann nicht geöffnet werden:stdio.h – Visual Studio Community 2017 – C++-Fehler


Ich versuche, eine Lösung in Visual Studio Community 2017 zu erstellen, aber ich erhalte immer wieder die Fehlermeldung „Die Include-Datei kann nicht geöffnet werden:‚stdio.h‘ ".


Ich habe mir mehrere ähnliche Fragen durchgelesen, aber ich kann dieses Problem immer noch nicht beheben. Es sieht aus wie die stdio.h Datei wird in der stdafx.h aufgerufen Datei. Nachfolgend finden Sie weitere Einzelheiten. Irgendwelche Vorschläge?


Systemdetails:



  • Windows 10

  • Visual Studio Community 2017 v.15.2 (26430.6)
    – Installierte Desktop-Entwicklung mit C++ (Screenshot:Installationsliste)



Schritt 1: Ich schrieb das berühmte Hello, World! Programm in C++.


#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, World!" << endl;
return 0;
}

Schritt 2: Ich habe auf Build geklickt → Lösung erstellen .


Problem: 'stdio.h' :Keine solche Datei oder Verzeichnis . Vollständiger Fehler:


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 ==========


Details zur Fehlerbehebung und Dinge, die ich versucht habe:



  1. Konfigurationseigenschaften * → VC++-Verzeichnisse
    Include Directories $(VC_IncludePath);$(WindowsSDK_IncludePath);



  2. Screenshot:Projektmappen-Explorer (Dateien im Projekt)



  3. Code in stdafx.cpp Datei:


    // 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


  4. Code in stdafx.h Datei:


    // 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>

    HINWEIS:die #include für <stdio.h> und <tchar.h> beide haben die rote Schnörkellinie darunter und sagen "Kann Quelldatei nicht öffnen".


    Versucht:Ich habe versucht, die letzten beiden Zeilen zu entfernen, aber dann habe ich mehr Fehler bekommen.



  5. Versucht:Da viele angedeutet haben, dass stdafx.h nicht erforderlich ist, habe ich versucht, nur die erste Zeile zu entfernen, #include "stdafx.h" . Aber damit das funktioniert, musste ich noch ein bisschen mehr tun. Siehe die Antwort unten.




Antworten:


Es gibt drei Möglichkeiten, dieses Problem zu lösen.



  1. Vorkompilierte Header #1 ignorieren

    Schritte: Projekt> Eigenschaften> Konfigurationseigenschaften> C/C++> Befehlszeile> im Feld Zusätzliche Optionen fügen Sie /Y- hinzu. (Screenshot der Eigenschaftenseiten)> Ok> #include "stdafx.h" entfernen

  2. Vorkompilierte Header #2 ignorieren

    Schritte: Datei> Neu> Projekt> ...> Klicken Sie im Fenster des Anwendungsassistenten auf Weiter> Deaktivieren Sie das Kontrollkästchen Precompiled Header> Finish> Remove #include "stdafx.h"

  3. Visual Studio neu installieren

    Das hat auch bei mir funktioniert, weil mir klar wurde, dass vielleicht etwas mit meinem Windows SDK nicht stimmt. Ich habe Windows 10 verwendet, aber mit Windows SDK 8.1. Sie können dieses Problem auch haben.

    Schritte: Öffnen Sie Visual Studio Installer> Klicken Sie auf die dreizeilige Menüleiste> Deinstallieren> Starten Sie Ihren Computer neu> Öffnen Sie Visual Studio Installer> Installieren Sie, was Sie möchten, aber stellen Sie sicher, dass Sie nur das neueste Windows SDK 10 installieren, nicht mehrere oder 8.1.


    Als ich Visual Studio zum ersten Mal installierte, erhielt ich eine Fehlermeldung, die besagte, dass ich Windows SDK 8.1 installieren musste. Also habe ich es über die Modify-Option von Visual Studio Installer getan. Vielleicht war dies ein Problem, weil ich es installiert habe, nachdem Visual Studio bereits installiert war, oder weil ich stattdessen SDK 10 benötigte. Sicherheitshalber habe ich eine komplette Neuinstallation gemacht.



Einige Code-Antworten


#include "stdafx.h"
#include <iostream>
using namespace std;
int main() {
cout <<
"Hello, World!"
<<
endl;
return 0;
}
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 ==========
// 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 : 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>
$(IncludePath);

No