1.7 윈도우즈에 mingw 설치 [DOC] [SMTS]
윈도우즈에서 실습을 진행하기 위하여 무료로 사용할 수 있는 gcc 컴파일러를 사용하고자 한다. gcc는 리눅스 응용 프로그램 개발에 사용되는 C 컴파일러이므로 우분투와 같은 리눅스 시스템에서는 바로 사용하는데 아무런 문제가 없다. 만약 윈도우즈를 사용한다면 gcc를 윈도우즈에서 사용할 수 있도록 해주는 mingw 패키지가 있으므로 이것을 설치하여 사용하면 된다.
1.7.1 tdm-gcc 설치하기
윈도우즈에서 mingw를 설치하는 가장 간단한 방법은 tdm-gcc 를 다운로드 받아서 설치하는 것이다. 자신의 윈도우가 32bit 인지 64bit 인지를 확인한 후 해당 버전의 설치판을 다운로드 받아서 설치하기만 하면 된다.
1.7.2 chochlatey 이용하기
윈도우즈에서 mingw를 설치하는 다른 방법은 chocolatey 라는 윈도우 패키지 매니저를 사용하는 것이다. 다음과 같이 [windows키]+[R]을 누른 후 ‘cmd’를 입력한 후 [ctrl]+[shift]+[enter] 키를 누른다. 그러면 관리자모드로 명령창이 실행된다.
[그림 1.7.1] cmd 실행 창
여기서 chocolatey 홈페이지에 있는 설치 명령을 복사해서 실행시키면 쉽게 설치할 수 있다.
chocolatey가 설치된 이후에는 choco라는 명령어를 명령창에서 사용할 수 있다. 정상적으로 설치되었다는 것을 확인하고 싶다면 그냥 choco라고 입력하면 chocolatey의 버전이 출력된다.
C:\Users\jhpark>chocoChocolatey v0.9.9.11 |
이제 mingw를 다음과 같이 설치할 수 있다.
c:\Users\user>choco install mingw |
어떤 방법으로든 mingw가 정상적으로 설치되었다면 c:\tdm-gcc\mingw32 혹은 c:\tools\mingw32 폴더가 생성되고 그 안에 필요한 파일들이 복사되어있을 것이다. 이제 명령창을 다시 실행시키면 gcc 를 실행시킬 수 있다.
C:\Users\jhpark>gcc --versiongcc (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 4.8.3Copyright (C) 2013 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
위와 같이 출력되었다면 이제 gcc 컴파일러를 사용할 준비가 된 것이다.
1.7.3 컴파일 환경 설정
본 교재에서는 c99 표준을 기준으로 기술되었다. 따라서 gcc를 이 표준에 맞추어 C코드를 컴파일 하도록 하려면 -std=c99 라는 옵션을 주어야 한다. 컴파일을 수행할 때마다 매번 입력하기 번거로우므로 c:\tools\mingw32\bin 폴더 안에 다음과 같은 배치파일을 작성하여 넣어 두자.
cc.bat |
@echo offgcc -std=c99 %* |
이제 gcc명령 대신 cc명령으로 C99표준에 맞추어 C프로그램을 컴파일 할 수 있다.
실습을 위해 별도의 폴더를 하나 생성하여 cmd를 실행할 때마다 그 폴더에서 시작하도록 설정하는 것이 앞으로 실습을 진행하는데 편리하다. 예를 들어 d:\cprog 라는 폴더를 만들고 모든 예제를 이 폴더에 저장하여 실행하고 싶다면 c:\windows\system32\cmd.exe 파일을 찾아서 바탕화면에 단축아이콘을 등록한다. 단축아이콘에서 마우스 오른 버튼을 눌러 속성창을 띄우면 시작 위치를 입력하는 곳이 있다.
[그림 1.7.2] cmd 속성창
그리고 단축키(예를 들어 ctrl+shift+c)를 지정해 놓으면 손쉽게 지정된 폴더에서 시작하는 cmd창을 실행시킬 수 있다.
'프로그래밍언어.Lib > C,C++' 카테고리의 다른 글
1.9 2진수와 16진수 (0) | 2016.03.07 |
---|---|
1.8 atom 설치 / 첫 프로그램 실행하기 (2) | 2016.03.07 |
1.2 C 언어 소개 (0) | 2016.03.04 |
1.1 프로그래밍 개요 (0) | 2016.03.04 |
(C언어) scanf() 함수 (0) | 2016.02.01 |