2011-08-26 15 views
6

Ho installato VS 2010 sul mio sistema e stavo cercando di compilare un semplice ciao.c nel prompt dei comandi VS. La compilazione ha dato un errore.Errore di riferimento durante la compilazione del file C nel prompt dei comandi VS2010

Fatal Error C1083: Cannot open include file: 'stdio.h' no such file, folder exist

Perché questo errore è in arrivo ?? VS2010 non include file/assembly di riferimento per C.

+0

ya ... scusate per l'errore di digitazione, effettueremo una modifica –

+0

Potrebbe essere necessario compilare il file come C, per impostazione predefinita si presuppone C++. Puoi usare/TC sulla riga di comando. – tinman

+0

@tinman: per impostazione predefinita verrà compilato come C se l'estensione del nome file è '.c' –

risposta

11

VS 2010 contiene sicuramente le intestazioni standard. È necessario verificare che l'ambiente del prompt dei comandi sia impostato correttamente. Ci dovrebbe essere una variabile di ambiente denominata INCLUDE che ha una directory simile alla cfollowing (tra le altre directory) in esso:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE 

quella directory (il nome può variare leggermente, ad esempio, a seconda se il computer è un 64 -bit OS di not) dovrebbe includere stdio.h

Se non si dispone di tale directory nel proprio ambiente, non si sta configurando l'ambiente correttamente. Si consiglia di utilizzare uno dei "di Visual Studio Prompt dei comandi" scorciatoie che VS installa, o semplicemente eseguire

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat 

Con il parametro appropriato per ottenere l'ambiente che si desidera (o x86amd64 per esempio).

Se la variabile di ambiente INCLUDE ha una voce del genere, ma il file stdio.h non esiste, potrebbe essere necessario reinstallare VS.

+0

+1 per l'utilizzo della scorciatoia predefinita" Prompt dei comandi di Visual Studio "- questa è sicuramente la via più facile da percorrere. – AShelly

+0

Sto usando solo il prompt dei comandi di Visual Studio –

+0

@Pankaj: che aspetto ha la variabile 'INCLUDE'? Le directory in esso contenute sembrano avere quello che dovrebbe essere in esse (in particolare, '' stdio.h' manca da 'VC \ INCLUDE')? –

2

Ho avuto un problema simile all'OP la cartella VC mancava la maggior parte dei file. Ho provato a riparare e disinstallare/reinstallare VS 2010 ma nessuno dei due ha funzionato.

Ciò che ha funzionato per me è stato l'installazione del pacchetto ridistribuibile Microsoft Visual C++ 2010 (x86). Microsoft Visual C++ 2010 Redistributable Package (x86)

0

Ci sono così tante versioni di così tanto codice di sistema di Windows che è facile che un percorso diventi non valido.

Nel mio caso:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include 

e

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib 

bisogno di essere cambiato a ::

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include 

e

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib 

, ovvero v7.1A -> v7.0A (non chiedere perché, fa solo parte del compito quotidiano e faticoso di gestire Microsoft!).

0

Ho avuto lo stesso problema. Il file stdio.h non esisteva nella cartella include. Ho rimosso VS 2010 utilizzando il Pannello di controllo e reinstallato, ma ciò non risolve il problema.

Ho quindi utilizzato il CD di installazione di VS 2010 per rimuovere tutto VS 2010 e rimosso manualmente qualsiasi oggetto rimasto dal Pannello di controllo. Ho quindi installato nuovamente VS 2010 Professional. Il problema è stato risolto.

Problemi correlati