티스토리 뷰



윈도우 프로그램을 제작할 때는 많은 경우 비주얼스튜디오를 사용하거나 일부 개발자는 이클립스의 CDT 환경이나 RCP 환경을 사용하기도 합니다. 그런데, 동일한 소스코드를 가지고 윈도우 뿐만아니라 리눅스와 맥에서도 수행되는 크로스플랫폼 응용을 제작하는 경우 일부 오픈소스프로젝트들은 MinGW 환경을 사용하고 있습니다. 이번 글은 윈도우 환경에서 리눅스 명령을 사용할 수 있도록 해주는 MSys와 윈도우 응용 프로그램을 빌드하는 MinGW를 설치하고 프로젝트 빌드 과정에서 필요로 하는 다양한 라이브러리나 도구를 손쉽게 설치할 수 있도록 하는 mingw-get 도구를 설치하는 것까지 다루고자 합니다. GUI를 사용하는 크로스플랫폼 응용들은 통상 wxWidgets, QT, GTK등의 라이브러리를 사용하므로 이들 라이브러리에 대한 준비도 감안해야 합니다. 


■ MSYS 환경 설치

MSYS는 Minimal SYStem의 약자로 윈도우에서 유닉스 명령을 수행할 수 있도록 해주는 CYGWIN과 유사한 도구로 MSYS는 CYGWIN 1.3을 좀더 가볍게 만든다는 의도로 시작되었습니다. 소스포지에서 배포하고 있는 패키지를 다운로드받아 압축을 해제하면 MSYS 설치는 끝납니다.

☞ 패키지 다운로드 받기


다운로드 파일의 형태는 7 Zip 파일로 7 Zip이 설치되어 있지 않다면 기업에서도 사용할 수 있는 압축 프로그램 7-Zip를 참조해서 7 Zip을 설치합니다. 위의 그림과 같이 다운로드 받은 파일을 탐색기 팝업 메뉴>7-Zip>압축 풀기... 메뉴를 선택합니다.


압축 해제할 폴더를 위의 그림과 같이 "C:\MinGW"로 입력하고 [확인]을 누릅니다.


압축 해제가 끝나면 위의 그림과 같이 MinGW\msys 폴더가 생성되고 bin 폴더의 내용을 살펴보면 find, grep과 같은 기본적인 유닉스 도구 뿐만아니라 7zip, cvs, svn, git, wget과 같이 유닉스/리눅스에서 많이 사용하는 부가적인 도구까지 설치되어 있음을 확인할 수 있습니다. 컴파일러인 MinGW의 수행 환경을 위해서 MSYS를 설치한다고 보면 좋겠습니다.


■ MinGW 컴파일러 설치

MinGW는 Minimalist GNU for Windows의 약자로 "윈도우 응용 프로그램을 위한 가장 가벼운 개발 환경"을 모토로 시작한 프로젝트입니다.(http://www.mingw.org/) "윈도우 프로그램을 개발할 수 있는 무료 개발 환경이면서도 가벼운 환경" 으로 정리할 수 있겠습니다. MinGW는 32비트용과 64비트용으로 구분해서 설치할 수 있는데 본 포스팅에서는 32비트용을 설치할까 합니다.

☞ 32비트 컴파일러 패키지 다운로드

MSYS 설치와 마찬가지로 다운로드 받은 7-Zip 형태의 압축 파일을 탐색기 팝업 메뉴>7-Zip>압축 풀기... 메뉴로 선택합니다. 


압축 풀기할 폴더를 앞서 MSYS를 설치한 "C:\MinGW\msys"로 입력하고 [확인]을 클릭합니다. 압축 해제가 끝나면 C:\MinGW\msys 아래에 생성된 mingw32 폴더를 mingw로 이름을 변경합니다. 작업후 mingw 폴더의 내용은 아래와 같습니다.



■ mingw-get

이제 부터는 앞서 설치한 MSYS 환경을 통해서 작업합니다. MSYS 환경을 열면 아래의 그림과 같이 터미널 창을 열어서 유닉스 서버에서 작업하는 것처럼 윈도우 환경을 사용할 수 있습니다. 위의 과정에서 설치한 C:\MinGW\msys 디렉토리를 윈도우내에서 동작하는 유닉스 시스템의 루트 폴더로 간주하여 사용할 수도 있고 동시에 윈도우 탐색기에서 일반적인 파일처럼 사용할 수도 있습니다. MSYS 환경을 시작하려면 C:\MinGW\msys 디렉토리에서 msys.bat 파일을 더블클릭하면 됩니다.



본격적인 모듈 빌드에 앞서 아래아 같은 명령을 입력합니다. 명령을 입력한 다음 쉘에 해당 명령이 적용되도록 exit로 창을 닫았다가 다시 열어서 작업을 진행합니다.

echo 'export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig"' >> /etc/profile

cp /mingw/bin/windres.exe /mingw/bin/i686-w64-mingw32-windres.exe



☞ MinGW 패키지 관리자(mingw-get) 다운로드

MSYS 설치와 마찬가지로 다운로드 받은 7-Zip 형태의 압축 파일을 탐색기 팝업 메뉴>7-Zip>압축 풀기... 메뉴로 선택합니다. 


압축 풀기할 폴더를 앞서 MSYS를 설치한 "C:\MinGW\msys"로 입력하고 [확인]을 클릭합니다. 

위의 그림은 깃(git)을 이용해서 프로젝트 소스코드를 다운로드하고 있는 모습입니다. 윈도우 환경이지만 리눅스 명령을 수행하듯이 작업을 수행할 수 있습니다.

mingw-get은 우분투 및 데비안 계열의 패키지 관리자인 apt-get과 비슷하다고 여기면 됩니다. mingw-get을 설치한 다음에는 "mingw-get update"로 일단 관련 정보를 업데이트 합니다.

위의 그림은 apt-get 처럼 "mingw install"명령으로 특정 패키지를 자동으로 다운로드 및 설치하는 과정입니다.


※ 참고로 GTK+ 기반 크로스프랫폼 응용을 개발한다면 아래를 링크에서 패키지를 다운로드 받아서 위의 다른 도구와 같은 방식으로 설치하시면 됩니다.

GTK+ for Windows(MinGW)



댓글
댓글쓰기 폼