본문 바로가기
my_lesson/_Windows

Windows - CMD에서 C,C++ compile하기 +MSYS2 사용법

by boolean 2018. 11. 22.
728x90

Windows - CMD에서 C,C++ compile하기+MSYS2 사용법

1. MSYS2 ? 


MSYS2는 MSYS새로운 버전입니다.

MSYS2의 가장 큰 장점은 64Bit개발 환경과 32Bit개발 환경을 동시에 사용 할 수 있다는 것입니다.




2. MSYS2 설치프로그램 다운로드


MSYS2

사이트 : http://www.msys2.org

다른 다양한 사이트 : http://mingw-w64.org

   

 


사이트 상단에 두개의 다운로드 버튼이 있습니다.   

좌측 버튼은 32bit버전이고, 우측버튼은 64Bit+32Bit버전입니다.


우측 버튼을 클릭하여 64Bit버전을 다운로드 받습니다.


(참고)사용중인 컴퓨터 운영체제가 32Bit Windows인 경우 좌측의 32Bit버전을 다운로드 받습니다.


   


3. MSYS2 설치

 


다운로드 받은 파일

msys2-x86_64-20180531.exe를 실행 합니다. 


기본 경로를 잘 기억해 두시고, Next를 클릭하여 다음으로 이동합니다.


설치가 다되면 MSYS2 쉘을 실행하면 기본적인 설치과 완료된 상태 입니다..



4. MSYS2 업그레이드와 64bit 컴파일러 설치

4.1 패키지 목록과 MSYS2 업데이트


   


쉘에서 다음과 같은 명령을 실행하여 패키지 목록과 msys2를 업데이트 합니다.


$pacman –Syu<enter>


:: 설치를 진행하시겠습니까? [Y/n]

<enter>키를 누릅니다.   


​설치가 완료되면 MSYS2를 재실행 한 후 업데이트를 다시 해야 합니다.


MSYS2 쉘을 종료합니다.(창을 닫습니다.)


(특정 메시지가 나오면 무시하시고 종료하시면 됩니다.)


   

4.2 MSYS2 쉘 실행


시작(좌측하단 Window버튼) -> MSYS2 64Bit -> MSYS2 MinGW 64-bit를 클릭합니다.

 


4.3 업데이트 재실행

 


쉘에서 다음과 같은 명령을 실행하여 msys2를 업데이트 합니다.


$pacman –Su<enter>


   


4.4 64Bit 개발툴 설치



쉘에서 다음과 같은 명령을 실행합니다. 개발에 관계된 패키지를 설치하는 명령입니다.


$ pacman --needed -S git mingw-w64-x86_64-gcc base-devel<enter>


설치 패키지 질문이 나오면 기본값이 all입니다.  ​--> <Enter>키를 누릅니다.


:: 설치를 진행하시겠습니까? [Y/n]  라는 질문이 나오면 --> <Enter>키를 누릅니다.


   


4.5 개발툴 설치 확인   


쉘에서 다음과 같은 명령을 실행하여 gcc컴파일러가 실행되는지 확인해 보시기 바랍니다.


 


$gcc --version<enter>


   


gcc.exe (Rev2, Built by MSYS2 project) 6.3.0


Copyright (C) 2016 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.


 


위와 같은 메시지가 출력되면 정상적으로 설치된 것입니다. 


64Bit 개발환경 설치가 완료 되었습니다.


   


 


5. MSYS2 32bit 컴파일러 설치


   

5.1 32bit MSYS2실행


시작(좌측하단 Window버튼) -> MSYS2 64Bit -> MSYS2 MinGW 32-bit를 클릭합니다.


   


5.2 32Bit 개발툴 설치


쉘에서 다음과 같은 명령을 실행합니다.


 

$ pacman --needed -S git mingw-w64-i686-gcc base-devel<enter>


 

설치 패키지 질문이 나오면 기본값이 all입니다.  ​--> <enter>키를 누릅니다.


:: 설치를 진행하시겠습니까? [Y/n]  라는 질문이 나오면 --> <enter>키를 누릅니다.


   


5.3 개발툴 설치 확인


   


쉘에서 다음과 같은 명령을 실행하여 32bit gcc컴파일러가 실행되는지 확인해 보시기 바랍니다.


 


$gcc –-version<enter>


   


32Bit 개발환경 설치가 완료 되었습니다.


   


 


6. MSYS2 32bit와 64bit 프로그램 컴파일


 


6.1 예제 프로그램을 작성합니다.


   


예제 작성은 64bit/32bit 쉘의 구분 없이 아무 곳에서나 작성하시면 됩니다.


(msys2상의 사용자 폴더는 32bit와 64bit 가 같습니다.)


   


$vim hello.c


[참고] vim


vim사용법을 모르시면 일반 문서편집기로 편집하여 C:\msys64\home\user-id\hello.c로 저장하세요.


vim의 간단한 사용법



#include <stdio.h>


   


int main(int argc, char *argv[])


{


    printf("Hello, World! %d\n", sizeof(void *));


    return 0;


}


 


   


위에 프로그램은 포인터 변수의 크기를 출력하는 프로그램 입니다.


(void *) 의 크기는 64bit에서는 8바이트 이고, 32bit에서는 4바이트 입니다.


   


6.2 64bit 컴파일


   


64bit Shell에서 다음과 같은 명령으로 컴파일 합니다.


   


$gcc hello.c –o hello64<enter>


   


오류가 있다면 프로그램을 수정하고 컴파일을 반복합니다.


   


오류가 없으면 실행합니다.


$./hello64<enter>


   


[결과]


Hello, World! 8


   


8바이트로 출력 됩니다.


   


 6.3 32bit 컴파일


   


32bit Shell에서 다음과 같은 명령으로 컴파일 합니다.


   


$gcc hello.c –o hello32<enter>


   


오류가 있다면 프로그램을 수정하고 컴파일을 반복합니다.


   


오류가 없으면 실행합니다.


$./hello32<enter>


   


[결과]


Hello, World! 4


   


4바이트로 출력 됩니다.  


 


 


7. 마무리


 


MSYS2, MinGW32, MinGW64를 모두 설치했습니다.


이제 하나의 소스로 두 종류(32/64)의 Application을 개발 할 수 있습니다

댓글