C, C++2009. 10. 30. 18:15



 wxWidgets(=wxWindows)는 크로스 플랫폼을 지원하는 오픈 소스 C++ 라이브러리이다. 라이센스는 자체 라이센스를 가지고 있으며, LGPL 을 기반으로 한다고 보면 된다. 역시 이러한 오픈 소스 계열의 가장 큰 단점은 문서 및 교육 문제인데, 아마존에 가면 몇 권의 책이 있음을 알 수 있고, 최근에는 국내에서도 개발 소개 서적이 나와서 정보를 얻기 조금 용이해졌다. 하지만 역시 많은 기능 활용을 원한다면 온라인 도움말이 가장 큰 도움을 줄 것이다.

 wxWindows는 이십년 가까운 긴 개발/테스트를 기능을 가진 매우 안정적인 라이브러리이며, 상용으로 존재하는 노키아의 Qt와 비슷한 용도로 사용한다고 보면 될 것이다. 물론 최근에는 Qt도 LGPL이 적용되도록 공개된 상태에서 IDE가 지원하는 SDK까지 무료로 제공해 주므로, wxWindows와 병용해서 사용해 보는 것도 좋을 것이다.

  wxWindows의 IDE는 다양한 형태로 존재하는데, 윈도에서 개발시에는 주로 Visual Studio가 권장된다. 물론 VS는 MS에서 천문학적인 액수를 투자하여 만드는 제품이기에 완성도가 높을 수 밖에 없고, 3rd 파티 도구도 많아서 사용하기에 가장 좋다고 볼 수 있다. (최근에는 Express 버전을 MS에서 무료 공개해 주고 있어서 이것을 사용하면 라이센스 문제도 없다.)

 또한 eclipse를 CDT와 사용하는 방안도 있다. eclipse는 일단 JVM 도구이기에 편하게 개발하려면 개발 리소스가 매우 많이 필요한 단 점도 있지만, 수많은 유용한 플러그인이 존재하는 장점이 있다.

  그리고 이 글에서 소개하는 Code::Blocks는 오픈소스 기반의 크로스 플랫폼 IDE 이다. 단순히 wxWindow뿐 아니라 종합적인 C++ 코딩 및 GUI 디버깅 환경을 제공해 주므로 유리한 점이 많다. 그리고, 리눅스/맥 등의 타 OS에서도 바로 IDE가 지원되므로 프로젝트 적용 시에 매우 편리하다. 단지, 윈도우즈에서 사용하려면 cygwin, mingw 등의 gcc 지원 환경에서 빌드를 할 수 있도록 해야 하므로, 설치 시에 불편함이 있다.
 따라서 좀더 손쉽게 Code::Blocks와 wxWindows를 설치하는 방법을 소개해 본다.

 1) Code::Blocks는 mingw를 내장한 32비트 윈도우즈용 배포본을 현재 제공하고 있다. (ver.8.02)
     codeblocks-8.02mingw-setup.exe 라는 형태로 되어 있다.
     (http://www.codeblocks.org/downloads)

 2) wxWidgets는 공식 홈페이지에서는 소스 파일로만 제공해주고, 그것을 받아서 환경별로 빌드하여
    사용하는 방법이 기본 사용 방법이다. 하지만, 우리는 그 귀찮은 과정(?)을 일소 하기 위하여
    wxPack이라는 미리 빌딩된 wxWindows를 사용하기로 한다.
    (http://wxpack.sourceforge.net/)
     Downloads에 보면 최신 버전의 wxPack이 있지만, Code::Blocks 8.02 설치시에 함께 설치되는
     MinGW의 gcc버전이 3.4.5이기에 그것에 맞는 wxPack의 다운로드하기로 한다.
     글을 읽어 보면 2008년 여름 버전부터 gcc4지원을 위하여 포팅/테스트 작업을 하였다는 것을
     알 수 있다. 그래서 2.8.7.03의 2007년 마지막 버전을 받기로 한다.
     wxPack의 버전은 빌드한 wxWidgets의 버전이기도 하다.
     (wxPack_v2.8.7.03.exe)

 3) 설치는 아무거나 순서없이 한다.
    wxPack에는 gcc빌드 버전만 설치하면 되고, Visual Studio용 빌드는 필요하면 설치하라.

 4) Code::Blocks를 실행 후, 새 프로젝트를 시작하자.

 5) 새 프로젝트 생성 위자드에서 wxWidgets 프로젝트를 선택하여 새로 만들자.

 6) 각 과정을 따라가면 아무 문제가 없다가, $(#wx) 라는 wxWidgets 경로를 찾는 부분에서
     설정이 안 될 것이다. 그때, wx의 경로로 wxPack의 wxWidgets가 설치된 경로를 잡아준다. 
    (예> C:\SourceCode\Libraries\wxWidgets2.8 )
    Code::Blocks 메뉴 Settings / Global variables 에서 확인 또는 추가하면 된다.

 7) 정상적인 인식이 되었는지는 빌드나 디버깅, 런을 통하여 wxWidgets 프로그램이 
     작동하는 것으로 확인 가능하다...
 
c.f> 다운이 잘 안되는 분을 위해 파일을 모아서 올려 본다. (7-zip 압축)

Posted by 어쩌다보니 Jay Two

댓글을 달아 주세요

  1. 좋은 정보 감사합니다. 혹시 CodeBlocks와 관련된 다음 문제의 조언을 구할 수 있을지요...

    http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=109595443

    2010.05.08 00:54 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • Answer:
      (1) 그 증상은 MinGW에 의한 것입니다.
      (Qt에서도 한글이나 띄어쓰기가 있는 경로 처리시
      동일한 증상이 생기곤 합니다.)
      (2) MinGW 나 CygWin 사용시, 작업 경로는
      -나 _등을 넣고, 한글 경로 명을 사용하지
      않는 것이 좋습니다.
      (3) 아울러, 너무 긴 경로 명도 안 됩니다.
      (unicode 파일명 지원은 당연히 안 됩니다...)

      2010.05.10 17:14 신고 [ ADDR : EDIT/ DEL ]
  2. 아~ 그렇군요..그럼, 일단 한글 경로는 인식하지 못하는 것으로 봐야겠군요.. 정말 고맙습니다. 더불어 많은 정보 얻어 갑니다.

    2010.05.12 00:09 신고 [ ADDR : EDIT/ DEL : REPLY ]