메아리 저널

Dev-C++에서 GCC4 돌리기

그냥 호기심이 동해서 한 번 해 봤다. (mingw 공식 배포본에는 gcc4가 없다.) 착한 어린이는 따라하지 마시랍.

  • 먼저 Dev-C++ 설치본이 있어야 한다. 나는 4.9.9.2를 사용했고, 워낙에 많은 라이브러리들이 깔려 있기 때문에 재설치하는 게 부담스러워서 전체 디렉토리를 백업했다. (근데 200메가나 나가더라...)
  • 여기에서 gcc 4.0.3을 받자. 7z 파일은 알아서 풀면 되고, 디렉토리가 여럿 있는데 bin, include, lib, libexec만 남기고 모두 지운다. (윈도우에서 굳이 맨페이지 쓰겠다면 안 지워도 상관 없다.)
  • 네 개의 디렉토리를 Dev-C++ 깔린 곳에 그대로 덮어 씌운다.
  • 위의 압축 파일에는 libstdc++ 헤더 파일이 모두 포함되어 있지는 않다. 따라서 그냥 했다가는 파일이 없답시고 난리를 칠 것이다. (참고로 gcc3용 libstdc++ 헤더 파일 그대로 써도 난리 난다.) 따라서 적절히 다시 덮어 씌워 줘야 하는데, 나 같은 경우 이 곳에서 gcc/gcj 4.0.2를 받은 뒤에 thisiscool-gcc/gcc-4.0/include/c++/4.0.2의 내용을 모조리 devcpp/include/c++/4.0.3으로 복사해 넣었다. 버전 번호가 살짝 달라 보이는 것은 정상이다;;
  • Dev-C++ 설정을 살짝 바꿔 준다. 컴파일러 설정에서 헤더 파일 디렉토리의 3.4.2 같은 버전 번호를 4.0.3으로 고쳐 주고, 위의 배포본에 들어 있는 windres.exewindows.h를 잘 못 찾으므로 프로그램 탭의 windres.exewindres.exe -I"devcpp\include" 식으로 고쳐 준다.
  • 준비는 다 끝났으니 컴파일을 해 본다. 대충 짠 코드라면 warning이 수도 없이 나올 것이다. 적절히 고쳐 주면 금상첨화.

사실 gcc4를 써 보고 나서도 내부 구현 말고 뭐가 바뀐 건지 잘 알 수 없기에 리뷰 같은 건 생략한다. 컴파일하면 약 2MB 정도 되는 실행 파일을 -Os로 컴파일해 보니 gcc3이 더 작게 나오는 경우도 있고 gcc4가 더 작게 나오는 경우도 있어서 뭐가 뭔지 알 수 없었다. 컴파일 속도는 10~20% 정도까진 높아진 것 같은데 실제로는 별로 실감이 안 난다 -_-; 대신 g++가 warning을 좀 더 많이 잡아 주기는 할 것이다. (이 역시 애초에 코드를 잘 짜 놓는 사람이라면 별로 상관할 일이 아니다.) 따라서 나는 gcc4에서 나는 warning만 적절히 잡아 준 뒤에 다시 gcc3으로 돌아 왔다. -,.-

이 글은 본래 http://tokigun.net/blog/entry.php?blogid=123에 썼던 것을 옮겨 온 것입니다.


(rev 1d46270eb038)