2011-08-26 31 views
6

Tôi đã cài đặt VS 2010 trên hệ thống của mình và tôi đang cố biên dịch một lời chào đơn giản hello.c trong dấu nhắc lệnh VS. Trình biên dịch đã xảy ra lỗi.Lỗi tham chiếu khi biên dịch tệp C trong lời nhắc lệnh VS2010

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

Tại sao lỗi này xảy ra? VS2010 có không bao gồm các tệp tham chiếu/hội đồng cho C.

+0

ya ... xin lỗi vì lỗi nhập, sẽ thực hiện chỉnh sửa –

+0

Bạn có thể cần phải biên dịch tệp dưới dạng C, theo mặc định nó giả định C++. Bạn có thể sử dụng/TC trên dòng lệnh. – tinman

+0

@tinman: theo mặc định, nó sẽ biên dịch dưới dạng C nếu đuôi tệp là '.c' –

Trả lời

11

VS 2010 chắc chắn chứa các tiêu đề chuẩn. Bạn nên kiểm tra xem môi trường dấu nhắc lệnh của bạn có được thiết lập đúng hay không. Nên có một biến môi trường có tên INCLUDE có một thư mục tương tự như cfollowing (trong thư mục khác) trong đó:

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

rằng thư mục (tên có thể thay đổi chút ít, ví dụ tùy thuộc vào nếu máy tính của bạn là một 64 -bit OS của không) nên bao gồm stdio.h

Nếu bạn không có thư mục này trong môi trường của mình, thì bạn không thiết lập môi trường chính xác. Bạn nên sử dụng trên của "Visual Studio Command Prompt" phím tắt mà VS cài đặt, hoặc đơn giản là chạy

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

Với các thông số phù hợp để có được môi trường bạn muốn (x86 hoặc amd64 ví dụ).

Nếu biến môi trường INCLUDE không có mục nhập như vậy, nhưng tệp stdio.h không tồn tại thì bạn có thể cần phải cài đặt lại VS.

+0

+1 để sử dụng phím tắt" Visual Studio Command Prompt "mặc định - đó chắc chắn là cách dễ nhất. – AShelly

+0

Tôi đang sử dụng Visual Studio Command Prompt chỉ –

+0

@Pankaj: biến 'INCLUDE' trông như thế nào? Do các thư mục trong nó trông giống như họ có những gì nên ở trong họ (cụ thể, là 'stdio.h' mất tích từ' VC \ INCLUDE')? –

2

Tôi gặp sự cố tương tự khi OP thư mục VC bị thiếu hầu hết các tệp. Tôi đã thử cả hai sửa chữa và gỡ bỏ cài đặt/cài đặt lại VS 2010 nhưng không làm việc.

Điều gì đã hiệu quả đối với tôi là cài đặt Gói Microsoft Red C++ 2010 Redistributable (x86). Microsoft Visual C++ 2010 Redistributable Package (x86)

0

Có rất nhiều phiên bản của quá nhiều mã hệ thống Windows để dễ dàng cho đường dẫn trở thành không hợp lệ.

Trong trường hợp của tôi:

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

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

cần phải được thay đổi để ::

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

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

tức là v7.1A -> v7.0A (không hỏi tại sao, nó chỉ là một phần của công việc hàng ngày, mệt mỏi trong giao dịch với Microsoft!).

0

Tôi đã gặp vấn đề tương tự. Tệp stdio.h không tồn tại trong thư mục bao gồm. Tôi gỡ bỏ VS 2010 bằng cách sử dụng Control Panel sau đó cài đặt lại, nhưng điều này đã không giải quyết được vấn đề.

Sau đó tôi đã sử dụng đĩa CD cài đặt VS 2010 để xóa tất cả VS 2010 và xóa mọi thứ còn lại bằng Bảng điều khiển theo cách thủ công. Sau đó tôi đã cài đặt chuyên nghiệp VS 2010 một lần nữa. Các vấn đề đã được giải quyết.

Các vấn đề liên quan