336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Unix + Emacs + (whatever compiler/interpreter)로 프로그래밍하는데 익숙한 나로서는 비주얼 스튜디오 등 윈도우즈 환경에서 번쩍거리는 IDE로 프로그래밍 하는데 복잡함만 느낀다.

물론 resource file을 만든다던가 할 때 수작업으로 하면 그 또한 고통이겠으나, 개발 툴로부터 자동 생성되는 코드에다가 살을 입히는 것이 내게는 잘 맞는 방법으로 보이지 않는다.

유닉스 환경에서는 수도 없이 많은 프로젝트를 해보았지만 MS Windows 환경에서 무언가 쓸만한 것을 만들어 본적이 없는데 개인적은 프로젝트로 MS Windows에서 돌아가는 애플리케이션이 필요하게 되었다.

그래서 비싼 비주얼 스튜디오 같은 개발 툴을 사지 않고 MinGW로 윈도우즈 개발 환경을 마련하게 되었다.

MinGWMinimalistic GNU for Windows의 약자로 윈도우즈에 포팅된 GNU GCC 등 개발에 필요한 최소한의 툴들을 제공해 준다.

또한 MinGW는 윈도우즈에서 뿐만 아니라 Linux, FreeBSD 등 유닉스 환경에서 윈도우즈 애플리케이션을 크로스 컴파일 시킬 수도 있으므로 Unix + X11 환경에서 주로 모든 일을 처리하는 내게는 더욱 매력적이지 않을 수 없다.

그러나 내가 개인적으로 사용하는 놋북에는 Windows XP가 설치되어 있으므로 여기에 MinGW를 설치하기로 한다.

1. 필요한 패키지 다운로드 및 설치

MinGW를 설치하기 위한 패키지들은 http://prddownloads.sf.net/mingw 에서 다운로드 받을 수 있는데 Candidate, Contribute, Current, Previous, Snapshot 등 여러 버전들이 화면에 나와서 처음에는 좀 헷갈리게 되어있다.

가장 최근의 안정적인 패키지 설치를 위해서 우선 Package 란에서 Current 를 클릭하였다.

MinGW Download


Current 를 클릭하면 Current 버전의 모든 패키지들이 나오는데 우선적으로 MinGW를 다운로드 받아 설치한다.

MinGW-<version>.exe 를 클릭하면 다운로드해서 설치할 패키지 설정을 물어보는데 기본적인
* MinGW base tools
* g++ compiler
* MinGW Make
를 선택하였다. (필요에 따라 더 선택해도 된다.)

설치가 성공적으로 끝났으면 윈도우즈 cmd.exe 에서 컴파일러를 실행시킬 수 있게 환경변수 PATH에 C:\MinGWbin 을 넣는 것을 잊으면 안된다.

그 다음에 나머지 필요한 패키지들을 다운로드 받아 설치한다.
(gdb, binutils 두 패키지를 추가로 더 실치하였다.)

2. 테스트

MinGW가 잘 설치되었는지 테스트 하기 위해 간단한 윈도우즈 프로그래밍을 해본다.
우선 도스 쉘 (cmd.exe)를 실행시켜서 적당한 디렉토리를 만들고 에디터 (vim 등)로 다음 소스 파일을 하나 만든다음 컴파일 해본다.
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR szCmdLine,
                    int iCmdShow)
{
    MessageBox(NULL, TEXT("Hello, MinGW!"),
    TEXT("MinGW Test"), MB_OK);
    return 0;
}
C:\Work> mingw32-gcc hello.c



C:\Work> a.exe

컴파일이 성공적으로 끝나고 실행시킨 후 아래와 같이 결과가 나오면 모든 설치가 성공적으로 이루어진 것이다.

Hello, MinGW!

출처 : http://par.sarang.net/372

'프로그래밍' 카테고리의 다른 글

레지스터 종류  (0) 2008.04.25
wxWidgets: Cross-Platform GUI Library  (0) 2008.02.11
훌륭한 프로그래머의 딜레마  (0) 2007.11.16
기민한 방법론을 사용한 게임개발  (0) 2007.08.08
SQL Injection들  (0) 2007.02.14
posted by 어린왕자악꿍