VisualStudio2017 설치하고 C로 Hello world 출력하기


비주얼 스튜디오 2017 인스톨하고 c로 hello world 출력하는데도 에러가 나서 한참 헤맸다.

1) [File] > [New Project] > [Visual C++] > [Windows Desktop Wizard]
새 프로젝트에서 [Windows Console Application]으로 생성해도 되지만,
C언어 교재에 나오는 Win32 응용 프로그램 마법사를 보려면 저렇게 생성해야 되더라.

2) 그런 후 [Security Development Lifecycle (SDL) checks]항목은 체크 해제한 상태에서 완료

3) 프로젝트가 생성되면 [Solution Explorer]창에서 Source Files폴더 오른쪽 클릭 > [Add] > [new item(Ctrl + Shift + A)]으로 확장자가 c인 파일을 생성한다.
생성창에 [C++ File(.cpp)]이 있는데 그걸로 선택하고, Name에 확장자를 .c로 입력하면 된다.

4) hello world를 출력하는 코드를 입력한다.

hello.c
----

#include <stdio.h>

int main(void)
{
  printf("Hello world\n");
  return 0;
}

5) 프로젝트를 빌드한다. [Build] > [Build Solution(Ctrl + Shift + B)]

6) 에러를 감상한다(...)

Description File
unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h" to your source? hello.c

7) 저 문구대로 구글링하니까 c파일 맨 위에 #include "stdafx.h"를 입력하면 된다던가, 아니면 솔루션 설정에서 미리 컴파일된 헤더를 사용하지 않음으로 변경하면 된다고 하던데 나는 둘다 안 되었다. 전자는 입력하면 새로운 에러가 2개 더 나오고, 후자는 변동이 없었음.

8) 그래서 새로 나온 에러로 검색 해보니 프로젝트이름.cpp로 된 파일을 삭제하면 된다는 내용이 보인다! 삭제하고 다시 빌드 ㄱㄱ
(지울 수 있는 선택지에 [remove]와 [delete]가 있는데 [delete]로 지웠다.)

9) 이때 또 stdafx.h에러가 나면 미리 컴파일된 헤더를 사용하지 않음 설정 해주면 된다. [Solution Exploer] > 프로젝트 이름(최상단 솔루션 말고) 오른쪽 클릭 > [Properties(Alt + Enter)] > [C/C++] > [Precompiled Headers] > [Precompiled Header]를 [Not Using Precompiled Headers]으로 설정

10) 드디어 빌드에 성공했다(눈물). [Debug] > [Start Without Debugging(Ctrl + F5)]을 하면 콘솔창에서 내가 입력한 hello world를 볼 수 있다.

키워드

  • 비주얼 스튜디오 사용
  • 프로젝트 생성
  • c hello world 출력
  • 미리 컴파일된 헤더 파일 사용 안 함

미해결 문제

  • [ ] 빌드, 디버깅이란?
  • [ ] 디버깅 시작(실행 후 콘솔창 종료) / 디버깅 없이 시작은 무슨 차이?
  • [ ] #include "stdafx.h"로 입력한 것과 #include <stdio.h> 헤더 파일을 큰 따옴표로 입력한 것, 꺽쇠로 입력한 것 의미 차이 있나?

멘탈

  • 윈도우 어렵다. 맥이나 계속 쓰고 싶은데, 나중 생각하면 어차피 써야되니까 미리 쓰는게 낫겠다(OS 안 익숙하면 그것도 적응하는데 시간 까먹음).
  • 코드만 치면 되겠지 했는데, 셋팅하는데 생각보다 오래 걸리고 어려움
  • 영어로 검색해야 해결책이 잘 나온다.
  • 어쨌든 이제 실습 할 수 있게 되어서 기분이 좋음
  • 프로그램 설치할 때 깜박하면 한글로 깔려서 불편하다(운영체제 언어 따라가는 듯). 에러 메시지가 한글로 나오는데 한글로 검색하면 결과가 잘 안 나와서 영어로 검색할 수 있는 영문판 설치 필요..실행하고 아차해서 언어 변경하는 법을 검색하는 나 ㅠㅠ

results matching ""

    No results matching ""