Impossibile aprire il file di inclusione:stdio.h - Visual Studio Community 2017 - Errore C++

Impossibile aprire il file di inclusione:stdio.h - Visual Studio Community 2017 - Errore C++


Sto cercando di creare una soluzione su Visual Studio Community 2017, ma continuo a ricevere l'errore "Impossibile aprire il file di inclusione:'stdio.h' ".


Ho letto diverse domande simili, ma non riesco ancora a risolvere questo problema. Assomiglia a stdio.h viene chiamato in stdafx.h file. Di seguito sono riportati ulteriori dettagli. Qualche suggerimento?


Dettagli del sistema:



  • Windows 10

  • Visual Studio Community 2017 v.15.2 (26430.6)
    -- Sviluppo desktop installato con C++ (Screenshot:Elenco installazioni)



Passaggio 1: Ho scritto il famoso Hello, World! programma in C++.


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

Passaggio 2: Ho fatto clic su CreaCrea soluzione .


Problema: 'stdio.h' :Nessun file o directory di questo tipo . Errore completo:


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


Risoluzione dei problemi e dettagli che ho provato:



  1. Proprietà di configurazione * → Directory VC++
    Include Directories $(VC_IncludePath);$(WindowsSDK_IncludePath);



  2. Screenshot:Esplora soluzioni (file nel progetto)



  3. Codice in stdafx.cpp file:


    // 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. Codice in stdafx.h 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>

    NOTA:il #include per <stdio.h> e <tchar.h> entrambi hanno la linea ondulata rossa sotto e dice "impossibile aprire il file sorgente".


    Provato:ho provato a rimuovere le ultime due righe, ma poi ho ricevuto più errori.



  5. Provato:poiché molti hanno suggerito che stdafx.h non è richiesto, ho provato a rimuovere solo la prima riga, #include "stdafx.h" . Ma per fare in modo che funzionasse ho dovuto fare un po' di più. Vedi la risposta di seguito.




Risposte:


Esistono tre modi per risolvere questo problema.



  1. Ignora le intestazioni precompilate n. 1

    Passaggi: Progetto> Proprietà> Proprietà di configurazione> C/C++> Riga di comando> nella casella Opzioni aggiuntive aggiungi /Y-. (Schermata delle pagine delle proprietà)> Ok> Rimuovi #include "stdafx.h"

  2. Ignora le intestazioni precompilate n. 2

    Passaggi: File> Nuovo> Progetto> ...> Nella finestra della procedura guidata dell'applicazione, fai clic su Avanti> Deseleziona la casella Intestazione precompilata> Fine> Rimuovi #include "stdafx.h"

  3. Reinstalla Visual Studio

    Questo ha funzionato anche per me, perché mi sono reso conto che forse c'era qualcosa di sbagliato nel mio Windows SDK. Stavo usando Windows 10, ma con Windows SDK 8.1. Potresti avere anche tu questo problema.

    Passaggi: Apri Visual Studio Installer> Fai clic sulla barra dei menu a tre righe> Disinstalla> Riavvia il computer> Apri Visual Studio Installer> Installa ciò che desideri, ma assicurati di installare solo l'ultimo Windows SDK 10, non più né 8.1.


    La prima volta che ho installato Visual Studio, ricevevo un errore che indicava che dovevo installare Windows SDK 8.1. Così ho fatto, tramite l'opzione Modifica del programma di installazione di Visual Studio. Forse questo era un problema perché l'ho installato dopo che Visual Studio era già stato installato o perché avevo invece bisogno dell'SDK 10. Per sicurezza ho eseguito una reinstallazione completa.



Alcune risposte al codice


#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