MS-Windows환경의 Code::Blocks에서 wxWidgets 사용하기
(본 내용이 강좌가 되지는 못하겠지만 특별히 쓸곳이 없어서 이곳에 글을 올립니다.)
예전에 KLDP에 다음과 같은 강좌가 있었습니다.
http://kldp.org/node/70327 (MinGW, wxWidget, Code::Blocks를 이용한 C/C++ IDE 환경 구축)
최근에 wxWidgets에 관심이 생겨서 위 게시물을 참고해서 wxWidgets를 설치하려고 시도했는데
이상하게 이런 저런 문제에 부딪혀서 몇 일을 허송세월 보냈습니다.
1. wxWidgets은 ' '을 인식하지 못하는 문제
프로그램을 한곳에 모으는 습관이 있어서 기존 Code::Blocks가 설치되어있던 경로인
C:\Program Files\CodeBlocks 아래에 wxWidgets를 설치했다가 컴파일시에 ' '를 인식하지
못하는 문제로 설치된 wxWidgets를 삭제.
C:\wxWidgets에 다시 설치
2. 최종 결과물 실패
mingw32-make를 이용해서 컴파일까지는 이상없이 완료되었지만 이상하게 최종 결과물인
...custom.dll인가하는 결과물을 만드는 과정에서 수차례 실패.
메모리 사용량이 2.5G까지 치솟아 올라가다가 결국 실패.
MS-Windows XP, 7 (64Bits. 혹시 64Bits 라면 메모리문제에 자유로울까봐...) 환경에서
30여분 가까이 투자를 했지만 결과는 같은 결론.
결국 여기저기 찾아봤지만 개발자의 '우리는 gcc3에서만 테스트해봤다.'라는 말을 보고
포기. (현재 MinGW는 4.x버전 이상으로 배포중)
이런 저런 문제로 몇 일을 고생만하고 마지막단계에서 실패하는 결과만 나오니 의욕이 사라져
갔습니다.
그러다가 우연히 아래 문서를 보게 되었습니다.
http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef
내용은 MS-Windows 상에서 wxWidgets를 설치하는 방법을 적어놓았습니다.
방법은 두가지인데
1. http://www.wxwidgets.org/ 에서 직접 wxWidgets의 소스를 받고 컴파일 하는 방법
2. http://wxpack.sourceforge.net/ 에서 컴파일 되어있는 결과물을 받아 이용하는 방법
로 되어있습니다.
첫 번째 방식이 제가 사용한 방법인데 지금 여기서 문제가 발생함으로 두번째 방법을
이용하기로 방향을 바꿔보기로 합니다.
download에서 파일을 받고 기본으로 설치합니다.
컴파일은 필요없고 설치가 끝나면 곧바로 Code::Blocks에서 wxWidgets를 프로젝트를 만들때
자동으로 설정을 바꿔주네요.
그래도 혹시 모르니 일단 기존의 wx 글로벌 변수를 지정해줍니다.(사실 없어도 될 것 같지만요.)
[Setting]->[Global variables]
Current Variable에서 [New]버튼을 누릅니다.
'wx'를 입력
아래 [base]항목 옆의 [...]버튼 누름.
wxWidgets가 설치된 디렉토리 지정 (기본적으로는 C:\SourceCode\Libraries\wxWidgets2.8 에 설치됩니다.)
이제 wxWidgets가 사용가능한지 확인해 보면 됩니다.
확인방법
1. 새로운 프로젝트 생성. (wxWidgets Project선택)
2. 설치된 wxWidgets는 2.8.11입니다.
3. 적당한 곳에 프로젝트를 만듭니다.
4. 프로젝트를 만들때 [Next]누르다보면 wxWidgets location을 물어보는 곳이 나옵니다.
설치된 디렉토리(위의 C:\SourceCode\Libraries\wxWidgets2.8)를 지정해줍니다.
5. 계속 진행하다보면 wxWidgets Library Settings부분이 나옵니다. 여기서
[v] Use wxWidgets DLL, [v]wxWidgets is built as a monolithic library
[v] Enable unicode에 모두 선택을 해줍니다.
(wxPack은 UNICODE, MONOLITHIC이 기본으로 선택되어있고 DLL을 사용합니다.)
만일 직접 코딩을 작성한다면 [] Create Empty Project를 선택하시면 됩니다.
Create Empty Project를 선택하지 않으면 기본틀 (Dialog base or Frame base)을
가진 환경(.cpp, .h)를 제공합니다. (이부분은 Visual Studio를 사용해보신분이라면 다 아실듯.)
6. 컴파일을 하고 실행을 하면 됩니다.
프로그램을 만들어보고 About을 확인해보시면 wxWidgets가 어떤 형태로 컴파일 되어있고 어떤 버전인지
확인이 가능합니다. (제가 설치한 버전은 wxWidgets 2.8.8-Windows-Unicode build 로 나오네요.)
혹시나 해서 테트리스 소스를 작성해서 확인을 해보니(위의 Create Empty Project 선택) 잘 되네요.
환경이 궁금하신분은 [Project]->[Build options...]->[Search directories]에서 확인 가능합니다.
Global 변수도 있고 Debug, Release별로 환경이 다르니 확인해보시기 바랍니다.
테트리스 소스는
http://zetcode.com/tutorials/wxwidgetstutorial/
위 Tutorial의 마지막에 있는 것을 따라했습니다.
P.S. : Ubuntu의 경우 wxWidgets 개발 라이브러리만 설치하면 되니 신경을 안썼는데 MS-Windows에서는
그게 쉽지가 않아서 힘드네요.
한줄 요약
wxPack ( http://wxpack.sourceforge.net/ )을 설치하면 됩니다.
댓글 달기