- 전체
- 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
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 11 |
[C/C++][인터넷] C++ Web Scraping: Tutorial 2023 : C++ 웹 스크래핑: 튜토리얼 2023
| 졸리운_곰 | 2023.11.11 | 263 |
| 10 | [C/C++][인터넷] [C++] Full-fledged client-server example with C++ REST SDK 2.10 | 졸리운_곰 | 2023.02.20 | 297 |
| 9 |
[C/C++][인터넷] [C++] FTP Upload/Download 구현 클래스(매우 유용)
| 졸리운_곰 | 2022.11.16 | 256 |
| 8 |
[C/C++] The Ultimate Guide to Web Scraping With C++
| 졸리운_곰 | 2022.09.21 | 330 |
| 7 |
[C/C++] Modern C++ micro-service implementation + REST API
| 졸리운_곰 | 2022.04.15 | 257 |
| 6 |
C++ Simple BOOST Asynchronous ASIO Reverse Proxy
| 졸리운_곰 | 2021.05.10 | 299 |
| 5 | [C/C++ 네트워크 프로그래밍] POCO 라이브러리의 특징 | 졸리운_곰 | 2021.01.06 | 642 |
| 4 |
Building libtorrent with Visual Studio
| 졸리운_곰 | 2020.10.25 | 309 |
| 3 |
Webdriver++ : A C++ client library for Selenium Webdriver.
| 졸리운_곰 | 2017.07.30 | 380 |
| 2 | netstat wrapper on Windows in C++ | 졸리운_곰 | 2014.02.17 | 1116 |
| 1 |
Linux C++ Socket Example with Client Server and Mulit-Threading
| 졸리운_곰 | 2014.02.17 | 1104 |












