구글 태그

2009년 3월 10일 화요일

Windows에서 wxWidgets 개발 환경 설정하기

1. 설치 준비

wxWidgets을 지원하는 여러가지 개발 환경이 있지만, 이 글에서는 Code::Blocks IDE를 사용합니다. Code::Blocks는 wxWidgets의 UI 수정을 위해 wxSmith와 wxFormBuilder의 두 가지 도구를 지원합니다. Code::Blocks IDE는 자체적으로 wxSmith를 내장하고 있고, wxFormBuilder의 경우에는 호출하여 사용할 수 있도록 필요한 파일(.fbp)을 생성하여 줍니다. 얼핏 보기에는 에디터가 내장된 wxSmith가 더 편리할 것 같지만, 사용해 본 바로는 wxFormBuilder가 더 직관적인 환경과 작업 흐름을 제공한다고 판단합니다. 따라서 이 글에서는 Windows 환경에서 wxWidgets 개발을 위해 Code::Blocks IDE를 사용하고 UI 리소스 편집 및 코드 생성을 위해 wxFormBuilder를 사용합니다. 이 글에서는 설명하지 않지만, Code::Blocks IDE를 설정하는 과정에서 모든 설정이 함께 완료되므로 wxWidgets 편집을 위해 wxSmith를 사용하여도 무방합니다.

이 글을 작성하면서 사용된 환경은 Windows XP SP3, Visual Studio .NET 2005(wxWidgets 소스코드 컴파일 및 Code::Blocks IDE의 컴파일러로 필요) 입니다. 작업 내용은 Visual Studio .NET 2008에서도 동일합니다.

우선 필요한 프로그램을 다운 받습니다.

1. Code::Blocks IDE 설치프로그램 다운로드

이 예제에서는 Code::Blocks 8.02를 사용합니다.
http://www.codeblocks.org/downloads

2. wxWidgets 소스 코드 다운로드

이 예제에서는 wxWidgets 2.8.9를 사용합니다.
http://www.wxwidgets.org/downloads

3. wxFormBuilder 설치프로그램 다운로드

이 예제에서는 wxFormBuilder 3.0.57을 사용합니다.
http://wxformbuilder.org/?page_id=7


2. 설치 과정

이제 실질적인 설치 과정입니다.

1. wxFormBuilder를 설치합니다.

2. wxWidgets 소스 코드를 컴파일 합니다.

다운 받아둔 wxWidgets 소스 코드의 압축을 풉니다. 여기서는 z:\wxWidgets-2.8.9에 풉니다.

시작 메뉴를 열어 다음과 같이 Visual Studio .NET 2005(혹은 2008) 명령 프롬프트를 엽니다.

Visual Studio .NET 2005 명령 프롬프트

wxWidgets의 빌드 경로로 이동합니다.

cd z:\wxWidgets-2.8.9\build\msw

이동한 경로의 폴더 내용을 살펴보면 Visual Studio용 프로젝트 파일이 있는데, 프로젝트 파일을 이용하지 말고 makefile을 사용하는 편이 더 간단합니다. 다음과 같이 makefile을 이용하여 wxWidgets을 debug와 release로 각각 빌드해 줍니다.

nmake makefile.vc SHARED=1 MONOLITHIC=1 UNICODE=1 BUILD=debug

nmake makefile.vc SHARED=1 MONOLITHIC=1 UNICODE=1 BUILD=release

SHARED 속성은 빌드 타겟을 DLL로 지정합니다. MONOLITHIC 속성은 빌드 타겟을 하나의 모듈(여기서는 하나의 DLL)로 묶습니다. 이를 설정하지 않으면 라이브러리가 모듈별로 분리됩니다.

3. Code::Blocks IDE를 설치합니다.

4. Code::Blocks의 환경을 설정합니다.

우선 Settings > Global variables를 선택하여 대화상자를 열고 다음과 같이 설정합니다.

Settings > Global variables

각 환경 변수의 값은 다음과 같습니다.

vc_inc \lib\vc_dll\mswu

vc_lib \lib\vc_dll

vc_obj \build\msw\vc_mswudll

다음으로 Settings > Compiler and debugger를 선택하여 대화상자를 열고 다음과 같이 설정합니다.

Settings > Compiler and debugger

Search directories 탭을 열고 각 탭의 내용에 다음과 같은 값을 추가합니다.

Compiler $(#wx.vc_inc)

Linker $(#wx.vc_lib)

Resource compiler $(#wx.vc_inc)

마지막으로 작업의 편의를 위해 Settings > Environment를 선택하여 대화상자를 열고 다음과 같이 .fbp 파일의 핸들러를 wxFormBuilder로 설정합니다.

Settings > Environment


3. 응용프로그램 생성해보기

이제 모든 설정을 마쳤으니 Code::Blocks와 wxFormBuilder를 이용하여 wxWidgets을 이용하는 응용프로그램을 작성해 봅시다. 다음과 같이 작업합니다.

1. Code::Blocks에서 wxWidgets 응용프로그램 생성

Code::Blocks를 실행하여 File > New > Project를 선택하여 새 프로젝트를 생성합니다. 다음과 같이 wxWidgets project를 선택합니다.

wxWidgets project

Go를 누르면 wxWidgets의 버전을 설정하게 됩니다. 이 예제에서는 wxWidgets 2.8.9를 사용하고 있으므로, wxWidgets의 버전을 2.8.x로 설정합니다. Next를 누르면 프로젝트 경로를 생성합니다.

프로젝트 경로

Next를 누르면 주석에 들어갈 개발자 정보를 입력하게 됩니다. 입력한 후 Next를 누르면 wxWidgets을 수정할 도구를 선택하게 됩니다. 다음 화면과 같이 wxFormBuilder를 선택합니다.

wxWidgets을 수정할 도구

Next를 누르면 wxWidgets의 경로를 지정합니다. 앞에서 설치했던 폴더를 선택합니다.

Next를 누르면 컴파일러를 설정합니다. 여기서는 Microsoft Visual C++ 2005/2008을 선택합니다.

Next를 누르면 환경 설정을 합니다. 앞에서 wxWidgets을 빌드할 때 사용했던 설정을 반영하여 다음과 같이 설정합니다.

환경 설정

Next를 누르면 프로젝트 설정이 완료됩니다.

2. wxFormBuilder에서 UI 수정

앞 단계를 마치면 다음과 같이 프로젝트가 생성됩니다.

프로젝트 생성

설정이 완료된 프로젝트에서 자동 생성된 WxWizFrame.fbp 파일을 더블클릭하면 wxFormBuilder가 실행됩니다. wxFormBuilder에서 Code::Blocks가 생성한 프로젝트를 수정할 수 있도록 자동변환을 해주면 다음과 같은 화면이 나타납니다.

wxFormBuilder

wxFormBuilder를 사용하는 예제는 다음 문서를 참조하시기 바랍니다.
http://wiki.wxformbuilder.org/Tutorials/UsingWxFormBuilder

수정이 완료되면 File > Generate Code를 선택하여 작업한 내용을 소스 코드로 생성합니다.

3. Code::Blocks에서 응용프로그램 빌드 및 실행

Code::Blocks로 돌아와 Build > Build를 선택하여 wxFormBuilder에서 수정한 내용을 빌드합니다. Build > Run을 선택하여 응용프로그램을 실행해 볼 수 있습니다. 자동 생성한 예제를 수정하지 않고 실행하면 다음과 같은 화면이 나타납니다.

자동 생성 예제

댓글 없음:

댓글 쓰기