2011-08-31 5 views
46

클래스에 대한 할당으로 C++에서 간단한 VS 프로그램을 컴파일하려고합니다. 정말 내가 빈을 시작 싶지만 난 그냥 비주얼 스튜디오 익스프레스 2010 설치미리 컴파일 된 헤더를 피하는 방법

#include <iostream> 
using namespace std; 
int main() 
{ 
    unsigned int day = 30; 

    cout << "My Name is John Doe" << endl; 
    cout << "My Major is CS" << endl; 
    cout << "I was born on day " << day << endl; 
    return 0; 
} 

...

1>Assignment.cpp(15): fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source?

내 프로그램은 말 그대로이 작은 : 우리는 오직 포함이 오류가 계속 프로젝트를 미리 정의 된 모든 파일로 설치하는 대신 훨씬 쉽게 만들 수 있다고 생각하지만 프로젝트를 만들 때 그 옵션을 결코 얻지 못합니다. 아무도 제안이 없나요?

+11

프로젝트 설정에서 미리 컴파일 된 헤더를 사용하지 않도록 설정해야합니다 (나중에 새 프로젝트를 만들 때 미리 컴파일 된 헤더 사용을 선택 취소 할 수도 있습니다). – user168715

+0

향후 프로젝트에서이 기능을 해제하려면 어떻게해야합니까? –

+0

질문 제목을 개선하십시오. 그것은 매우 의지하는 질문을 기술하지 않고 대신 기술 (태그가 무엇인지에 대한 것)을 열거합니다. –

답변

58

프로젝트 설정에서 사전 컴파일 된 머리글 사용을 항상 비활성화 할 수 있습니다. VS 2010

지침 (VS의 다른 버전과 유사해야합니다) :

Select your project, use the "Project -> Properties" menu and go to the "Configuration Properties -> C/C++ -> Precompiled Headers" section, then change the "Precompiled Header" setting to "Not Using Precompiled Headers" option.


만 설치 간단한 C++ 명령 줄 프로그램에 대한 최소한의 비주얼 스튜디오 프로젝트 (예 : 시도하는 경우 도입 된 C++ 프로그래밍 클래스에서 개발 된 것과 같이) empty C++ project을 만들 수 있습니다.

+0

보기, 나는 이것을 시도했다. 그러나 나는 "Press Enter To Continue"를 얻지 못한다. 기본적으로 문자열을 출력 할 때. 그것은 상당히 성가신 일입니다. –

+2

@Howdy_McGee'std :: cout << "계속하려면 Enter 키를 누르십시오"<< std :: endl; std :: cin.get();'당신을 거기에 데려다 줄 것입니다. –

+0

기본적으로 그렇게 할 수있는 방법이 있습니까? 클래스에서 우리는 문자열을 계속하기 위해 언론에 들어가기 위해 여분의 코드를 추가 할 필요가 없습니다. –

5

.cpp 파일은 미리 컴파일 된 헤더를 사용하도록 구성되어 있으므로 먼저 포함되어야합니다 (iostream 이전). Visual Studio의 경우 이름은 대개 "stdafx.h"입니다.

프로젝트에 stdafx * 파일이 없으면이 파일의 옵션으로 이동하여 "미리 컴파일 된 헤더를 사용하지 않음"으로 설정해야합니다.

+0

미리 정의 된 헤더를 끄는 방법은 무엇입니까? –

+0

.cpp 파일을 마우스 오른쪽 버튼으로 클릭하고 Properties를 선택한 다음 트리 뷰에서 C/C++/Precompiled Headers를 찾고 Precompiled Header 옵션을 변경하십시오. – hamstergene

+0

질량 선택은 + 왼쪽 마우스 옵션으로 편리합니다. 솔루션 탐색기에서 여러 개의 _cpp_ 소스 파일을 선택하고 위와 같이 끕니다. –

0

당신은 프로젝트의 Visual C++ "일반 사항"그룹에서 "빈 프로젝트"를 선택하여 빈 프로젝트를 생성 할 수 있습니다 #include "iostream"

+0

그것은 수업 과제입니다. 저는이 솔루션을 사용할 수 없도록 iostream 만 사용할 수 있습니다. –

+1

@Howdy : 기술적으로 세르게이 정확합니다; 프리 컴파일 된 헤더를 사용하도록 프로젝트를 만들었지 만, 당신은 그것을 # include하지 않는다. 빈 프로젝트를 만들거나 미리 컴파일 된 헤더에 의존하지 말고 정말로해야합니다. –

+0

@Ed S .: 올바른 내용이지만 증상 만 수정합니다. 숨겨진 질문은 "내가 수업에서 편집 한 동일한 프로그램을 왜 컴파일 할 수 없습니까?"입니다. 그리고 그 질문에 대한 대답은 "클래스에서, 프로젝트는 미리 컴파일 된 헤더를 사용하지 않았습니다"입니다. –

9

전에 #include "stdafx.h"를 추가하려고 (어쩌면 프로젝트 템플릿 익스프레스에 포함되지 않습니다?) .

, 당신은 이미 프로젝트의 문제를 해결 프로젝트 속성을 열고로 이동합니다 :

Configuration Properties | C/C++ | Precompiled Headers 

그리고 "미리 컴파일 된 헤더"옵션 "미리 컴파일 된 헤더를 사용하지 않음"을 선택합니다.

+0

http://msdn.microsoft.com/en-us/library/ms235516%28v=VS.100%29.aspx에 따르면 빈 프로젝트 템플릿은 Express에 있습니다. 그것이 당신에게 나타나지 않는지 알려주세요. 나는 quick-n-dirty, small, self-contained 테스트 프로젝트를 설정하기 위해 다른 프로젝트 템플릿 중 어느 것이 더 좋다고 생각한다. –

관련 문제