프로그래밍 방법론이라는 과목을 듣을려고 하는데 교수님이 실습을 위해서 MinGW를 설치하라고 하셨다. 이 번에 컴퓨터를 다시 포멧했기 때문에 다시 MinGW를 설치했는데, 조금 다른 프로그램을 이용해서 예전문서를 그대로 두고(또 누가 필요할지도 모르니..) 새롭게 글을 쓴다.

-------------------------------------------------------
 우선 이 글을 읽기 전 주위 할 점이 있다. 기존의 자신의 컴퓨터에 gcc 가 깔려있는지 확인하는 것이다. Dev-cpp 가 gcc를 내부적으로 이용한다. 예전 버전은 어떤지 모르겠지만 요즘 버전(요즘 버전이라 그랬지만 이 버전도 나온지 몇 년되었다..왜 더 이상 업그래이드를 안하는지 모르겠다.) 깔리면서 환경변수를 손대지 않지만, 예전버전은 그렇지 않을 수도 있다. 이 경우 조금 골치가 아파진다. 

 겉으로는 그냥 컴파일러로 보일지라도 내부적으로 gcc를 가지고 있는 컴파일러 들이 있다. 특히, 임베디드 환경에서 cross 컴파일로 gcc를 많이 사용한다. (크로스 컴파일러는 컴파일하는 환경과 그 프로그램을 이용하는 환경이 다를 경우 그렇게 부른다. 예를 들어 일반 PC에서 컴파일 해서 핸드폰에서 이용하는 프로그램을 만드는 컴파일러를 크로스 컴파일러라고 한다. )  한 번 자신이 사용하는 컴파일러에 gcc.exe 가 있는지 확인해 보아야 한다.
 
 단지 gcc.exe가 있다고 해서 문제 될 것은 없다. 이 부분에 환경변수를 걸드리고 있다면 조금 문제가 될 수 있다. 특히 GCC_EXEC_PREFIX 이 환경변수가 정의되고 있다면 조심해야 한다. 이 환경변수는 gcc의 라이브러리가 있는 곳의 디렉토리를 저장해둔다.  여러개의 gcc 가 사용될 때 이 때문에 다른 gcc가 이 환경변수를 오인하는 경우가 있다. 조금은 조심해야 한다. 

 이를 해결하기 위해서는  batch  파일을 이용해야 한다. 이 GCC_EXEC_PREFIX 이 환경변수를 지워버지고 이 환경변수가 필요한 프로그램에 다음과 같이 batch  파일을 만든다.

set PATH =%PATh%;컴파일러_path
set GCC_EXEC_PREFIX = 정의되어_있었던_라이브러리_디렉토리
start 실행할_컴파일러_이름

 다른 환경변수도 같이 있다면 이 것만으로 해결 안 되는 경우도 있을 수 있다. 나머지 부분은 나도 잘 모르겠다. gcc 문서를 통해 다른 환경변수가 뭐가 있는지 확인하고 자신의 컴퓨터에 설정되어 있는지 확인해야 한다.

-------------------------------------------------------

  http://sourceforge.net/project/showfiles.php?group_id=2435 에 가 보면 Automated MinGW Installer 가 존재한다. 이게 더 설치를 쉽게 도와준다. 

 이 프로그램을 실행한 다음 당연히 Next를 클릭해 준다. 그 다음 다음과 같은 화면이 나온다. 




느낌이 팍 오지 않는가. 첫 번째 Download and install 이다. 그러면 라이센스 표시가 나온다. MinGW가 여러개의 패키지고 그 프로그램마다 GPL 일 수도 있고, 다른 라이센스일 수도 있다는 설명과 몇가지 정보가 더 나온다. (솔직히 더이상 해석하기 싫다. ) 

 당연히 agree 해야 넘어 간다.








 그 다음 어떤 버전을 설치할 것인가 물어본다. 안전하게 current 를 설정했다. (이 정도 영어는 해석할 수 있겠죠..)






 그 다음 설치 패키지를 물어본다. 내 경우, 교수님의 설명서에 FULL 로 되어 있어서 FULL을 설정했다.




 다음은 설치위치를 물어본다. 내 경우는 거의 모든 컴파일러는 C:\tools에 모여있으므로 여기에 MinGW 디렉토리(폴더)를 새로 만들어서 설치했다. 




 설치를 시작하면 인터넷으로 다운받아 자동으로 설치하게 된다.






 이제 설치가 끝났다.

 다행히 이 프로그램의 설치하고 나서 환경 변수를 건드리지 않는 것 같다.  (여러개의 gcc를 사용할 때 이 부분 때문에 각자의 gcc가 엉켜버릴 수 있다. )

 gcc 사용법은 리눅스 사이트에서 찾아보길 바란다. (KLDP 위키를 추천한다. )