2011-08-26 75 views
6

我在我的系統上安裝了VS 2010,我試圖在VS命令提示符下編譯一個簡單的hello.c。彙編給出了一個錯誤。編譯VS2010命令提示符下的C文件時引用錯誤

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

爲什麼這個錯誤來了? VS2010是否包含C的參考文件/組件?

+0

ya ...抱歉輸入錯誤,將進行編輯 –

+0

您可能需要將文件編譯爲C,默認情況下它將採用C++。您可以在命令行上使用/ TC。 – tinman

+0

@tinman:默認情況下,如果文件擴展名爲'.c' –

回答

11

VS 2010肯定包含標準頭文件。你應該檢查你的命令提示符環境是否設置正確。應該有它的環境變量命名INCLUDE有類似cfollowing目錄(其他目錄中):

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

該目錄(名稱可能會有所不同,例如取決於如果您的機器是64位操作系統的不應該包括)stdio.h

如果你的環境中沒有這樣的目錄,那麼你不能正確設置環境。你應該在「Visual Studio命令提示符」那VS安裝快捷鍵的使用,或者乾脆運行

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

有了適當的參數,以獲得您想要的環境(x86amd64爲例)。

如果INCLUDE環境變量確實有這樣的條目,但stdio.h文件不存在,那麼您可能需要重新安裝VS.

+0

+1,那麼它會將它編譯爲C,以使用默認的「Visual Studio命令提示符」快捷鍵 - 這絕對是最簡單的方法。 – AShelly

+0

我只使用Visual Studio命令提示符 –

+0

@Pankaj:「INCLUDE」變量是什麼樣的?它中的目錄看起來應該是什麼樣的(特別是,'VC \ INCLUDE'中缺少'stdio.h')? –

2

我有一個類似的問題,因爲VC文件夾丟失了大部分文件。我試過修復和卸載/重新安裝VS 2010,但都沒有工作。

對我而言,安裝Microsoft Visual C++ 2010可再發行組件包(x86)的工作原理是什麼。 Microsoft Visual C++ 2010 Redistributable Package (x86)

0

有這麼多的Windows系統代碼版本,很容易使路徑無效。

在我的情況:

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

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

需要更換時給::

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

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

v7.1A -> v7.0A(不要問爲什麼,它只是處理與微軟打交道的日常繁瑣任務的一部分!)。

0

我有同樣的問題。文件stdio.h不存在於文件夾include中。我使用控制面板刪除VS 2010,然後重新安裝,但這並沒有解決問題。

然後,我使用VS 2010安裝光盤刪除所有的VS 2010,並手動刪除控制面板留下的任何東西。然後我再次安裝VS 2010專業版。問題解決了。

相關問題