- 전체
- C/C++ 일반
- C/C++ 수학
- C/C++ 그래픽
- C/C++ 자료구조
- C/C++ 인공지능
- C/C++ 인터넷
- wxWidget
- GTK+
- UNIX or LINUX programming
- 리눅스 마스터 - 국가공인자격
- VC++/ MFC
- C#/CLI/.NET
- QT/기타UI
- Boost lib
- 오픈소스 C 분석자료
- MSA (마이크로서비스), Docker, kubernetes
- WSL(windows subsystem linux)
wxWidget Windows에서 wxWidgets 개발 환경 설정하기
2017.01.01 15:15
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) 명령 프롬프트를 엽니다.
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를 선택하여 대화상자를 열고 다음과 같이 설정합니다.
각 환경 변수의 값은 다음과 같습니다.
vc_inc
\lib\vc_dll\mswuvc_lib
\lib\vc_dllvc_obj
\build\msw\vc_mswudll
다음으로 Settings > Compiler and debugger를 선택하여 대화상자를 열고 다음과 같이 설정합니다.
Search directories 탭을 열고 각 탭의 내용에 다음과 같은 값을 추가합니다.
Compiler
$(#wx.vc_inc)Linker
$(#wx.vc_lib)Resource compiler
$(#wx.vc_inc)
마지막으로 작업의 편의를 위해 Settings > Environment를 선택하여 대화상자를 열고 다음과 같이 .fbp 파일의 핸들러를 wxFormBuilder로 설정합니다.
3. 응용프로그램 생성해보기
이제 모든 설정을 마쳤으니 Code::Blocks와 wxFormBuilder를 이용하여 wxWidgets을 이용하는 응용프로그램을 작성해 봅시다. 다음과 같이 작업합니다.
1. Code::Blocks에서 wxWidgets 응용프로그램 생성
Code::Blocks를 실행하여 File > New > Project를 선택하여 새 프로젝트를 생성합니다. 다음과 같이 wxWidgets project를 선택합니다.
Go를 누르면 wxWidgets의 버전을 설정하게 됩니다. 이 예제에서는 wxWidgets 2.8.9를 사용하고 있으므로, wxWidgets의 버전을 2.8.x로 설정합니다. Next를 누르면 프로젝트 경로를 생성합니다.
Next를 누르면 주석에 들어갈 개발자 정보를 입력하게 됩니다. 입력한 후 Next를 누르면 wxWidgets을 수정할 도구를 선택하게 됩니다. 다음 화면과 같이 wxFormBuilder를 선택합니다.
Next를 누르면 wxWidgets의 경로를 지정합니다. 앞에서 설치했던 폴더를 선택합니다.
Next를 누르면 컴파일러를 설정합니다. 여기서는 Microsoft Visual C++ 2005/2008을 선택합니다.
Next를 누르면 환경 설정을 합니다. 앞에서 wxWidgets을 빌드할 때 사용했던 설정을 반영하여 다음과 같이 설정합니다.
Next를 누르면 프로젝트 설정이 완료됩니다.
2. wxFormBuilder에서 UI 수정
앞 단계를 마치면 다음과 같이 프로젝트가 생성됩니다.
설정이 완료된 프로젝트에서 자동 생성된 WxWizFrame.fbp 파일을 더블클릭하면 wxFormBuilder가 실행됩니다. wxFormBuilder에서 Code::Blocks가 생성한 프로젝트를 수정할 수 있도록 자동변환을 해주면 다음과 같은 화면이 나타납니다.
wxFormBuilder를 사용하는 예제는 다음 문서를 참조하시기 바랍니다.
http://wiki.wxformbuilder.org/Tutorials/UsingWxFormBuilder
수정이 완료되면 File > Generate Code를 선택하여 작업한 내용을 소스 코드로 생성합니다.
3. Code::Blocks에서 응용프로그램 빌드 및 실행
Code::Blocks로 돌아와 Build > Build를 선택하여 wxFormBuilder에서 수정한 내용을 빌드합니다. Build > Run을 선택하여 응용프로그램을 실행해 볼 수 있습니다. 자동 생성한 예제를 수정하지 않고 실행하면 다음과 같은 화면이 나타납니다.
[출처] http://szmyoung.blogspot.kr/2009/03/windows-wxwidgets.html
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 15 |
[C/C++ graphic GUI] An introduction to the Dear ImGui library : Dear ImGui 라이브러리 소개
| 졸리운_곰 | 2023.11.07 | 363 |
| 14 | [C/C++, graphics] SDL Tutorial Basics | 졸리운_곰 | 2021.05.15 | 316 |
| 13 |
How to Install Dev-C++ and the GLUT Libraries for Compiling OpenGL Programs with ANSI C
| 졸리운_곰 | 2021.02.02 | 321 |
| 12 |
CONREC : A Contouring Subroutine 등고선 그리기
| 졸리운_곰 | 2018.01.11 | 638 |
| 11 |
왼손 / 오른손 좌표계 비교: Left- vs. Right-handed coordinate systems
| 졸리운_곰 | 2017.09.24 | 432 |
| 10 |
3D Graphics with OpenGL
| 졸리운_곰 | 2017.09.24 | 1214 |
| 9 | OpenGL의 회전순서 | 졸리운_곰 | 2017.09.24 | 294 |
| 8 |
통일 D3D 및 OpenGL 좌표 시스템
| 졸리운_곰 | 2017.09.24 | 337 |
| 7 |
[OpenGL] 중심점(pivot)으로 물체 회전하기
| 졸리운_곰 | 2017.06.25 | 1139 |
| 6 |
3D Graphics with OpenGL
| 졸리운_곰 | 2017.06.06 | 415 |
| 5 |
OpenGL프로그래밍:간단한 다각형 랜더링
| 졸리운_곰 | 2017.06.06 | 537 |
| 4 | 기하학 사이트들.. | 졸리운_곰 | 2017.06.06 | 330 |
| 3 |
기하변환
| 졸리운_곰 | 2017.06.06 | 989 |
| 2 |
assimp : Open Asset Import Library
| 졸리운_곰 | 2017.05.14 | 352 |
| 1 |
MeshLab the open source system for processing and editing 3D triangular meshes.
| 졸리운_곰 | 2017.05.13 | 386 |












