2016. 8. 25. 15:01ㆍIT-개발/좋은 Library
라이브러리에 대해서 언급만 하고 Build해서 사용하는거는 함도 안해봤네요.
소개합니다~~ (펌)...!!! ㅋㅋㅋ 저두 남이 빌드해놓은거 카피해서 사용만 하고 있습니다.
담에 함 빌드해서 써봐야겠죠~
펌 : http://egloos.zum.com/dstein/v/2864277
Microsoft Visual C++ 2010 환경에서 wxWidgets 사용하기
1. 준비 사항
- 컴파일러 버전 : Microsoft Visual C++ 2010
- wxWidgets 버전 : wxWidgets-2.9.2 (다운로드 : http://www.wxwidgets.org/downloads/ )
2. 컴파일
다운로드 받은 wxWidgets 소스 압축 파일을 원하는 디렉터리에 압축해제 한다.
이 문서에서는 c:\wxWidgets-2.9.2 에 압축을 해제 한 것으로 하여 진행하겠습니다.
2.1 옵션
- Makefile 옵션
옵션
설명
SHARED=0 정적 라이브러리로 빌드(lib) SHARED=1 동적 라이브러리로 빌드(dll) UNICODE=1 유니코드 BUILD=debug 디버그 모드 BUILD=release 릴리즈 모드 RUNTIME_LIBS=static 정적 런타임 라이브러리 RUNTIME_LIBS=dynamic 동적 런타임 라이브러리
- VC++의 런타임 라이브러리 설정에 따른 적합한 RUNTIME_LIBS
Runtime Library name
Switch
CRT library file
Macro(s) Defined
wxWidgets options
Description
Multithreaded
/MT
LIBCMT.lib _MT
RUNTIME_LIBS=static BUILD=release
release static
Multithreaded Debug /MTd
LIBCMTD.lib
_MT _DEBUG
RUNTIME_LIBS=static BUILD=debug
debug static
Multithreaded DLL
/MD
MSVCRT.lib
_MT _DLL
RUNTIME_LIBS=dynamic BUILD=release
release dynamic
Multithreaded Debug DLL
/MDd
MSVCRTD.lib
_MT _DEBUG _DLL
RUNTIME_LIBS=dynamic BUILD=debug
debug dynamic
2.2 컴파일
위의 옵션 값을 참고하여 각자 원하는 옵션으로 컴파일 하면 된다. 여기에선 다음과 같은 옵션으로 컴파일 한다.
- Win32 컴파일
1. Visual studio x86 명령 프롬프트 실행 - 2. make 파일 위치로 이동
wxWidgets 설치 경로 아래에 있는 \build\msw 로 이동
3. nmake 실행
nmake -f makefile.vc SHARED=1 UNICODE=1 RUNTIME_LIBS=dynamic BUILD=release clean
nmake -f makefile.vc SHARED=1 UNICODE=1 RUNTIME_LIBS=dynamic BUILD=release
nmake -f makefile.vc SHARED=1 UNICODE=1 RUNTIME_LIBS=dynamic BUILD=debug clean
nmake -f makefile.vc SHARED=1 UNICODE=1 RUNTIME_LIBS=dynamic BUILD=debug
4. 결과물
wxWidgets 설치 경로 아래에 있는 \lib 폴더에 결과물이 생성된다. - 빌드 옵션별 결과물 경로 - x64 컴파일
1. Visual studio x64 명령 프롬프트 실행
2. make 파일 위치로 이동
wxWidgets 설치 경로 아래에 있는 \build\msw 로 이동
3. nmake 실행
nmake -f makefile.vc SHARED=1 UNICODE=1 RUNTIME_LIBS=dynamic BUILD=release TARGET_CPU=amd64 clean
nmake -f makefile.vc SHARED=1 UNICODE=1 RUNTIME_LIBS=dynamic BUILD=release TARGET_CPU=amd64
nmake -f makefile.vc SHARED=1 UNICODE=1 RUNTIME_LIBS=dynamic BUILD=debug TARGET_CPU=amd64 clean
nmake -f makefile.vc SHARED=1 UNICODE=1 RUNTIME_LIBS=dynamic BUILD=debug TARGET_CPU=amd64
4. 결과물
wxWidgets 설치 경로 아래에 있는 \lib 폴더에 결과물이 생성된다.
- 빌드 옵션별 결과물 경로경로
옵션
lib\vc_amd64_dll\mswu SHARED=1, UNICODE=1, BUILD=release lib\vc_amd64_dll\mswud SHARED=1, UNICODE=1, BUILD=debug lib\vc_amd64_lib\msw SHARED=0, UNICODE=1, BUILD=release lib\vc_amd64_lib\mswd SHARED=0, UNICODE=1, BUILD=debug
경로 | 옵션 |
lib\vc_dll\mswu | SHARED=1, UNICODE=1, BUILD=release |
lib\vc_dll\mswud | SHARED=1, UNICODE=1, BUILD=debug |
lib\vc_lib\msw | SHARED=0, UNICODE=1, BUILD=release |
lib\vc_lib\mswd | SHARED=0, UNICODE=1, BUILD=debug |
2.3 Sample 소스 컴파일
wxWidgets 설치 경로 아래에 있는 \samples 폴더에 예제 소스들이 존재합니다. 이 예제들을 컴파일 해서 실행해보길 원할 경우 아래와 같이 하면 됩니다.
- 예로 \samples\control 예제를 컴파일 하는 경우
1. \samples\control 폴더로 이동
2. nmake -f makefile.vc SHARED=1 UNICODE=1 RUNTIME_LIBS=dynamic BUILD=release 실행
컴파일 옵션은 위에 내용을 참고하여 원하는 값으로 설정하면 됩니다.
3. 위와 같이 컴파일 한 경우 결과물은 \samples\control\vc_mswdll 폴더에 생성됩니다.
3. 개발 환경
3.1 시스템 환경 변수 등록
wxWidgts 설치 경로를 환경변수 WXWIN 이름으로 등록한다.
3.2 프로젝트 속성 설정
- C/C++
* 일반
* 추가 포함 디렉터리
* $(WXWIN)\include - wxWidgets include 디렉터리 위치
* $(WXWIN)\include\msvc - 빌드 명세파일인 setup.h 파일을 포함하는 디렉터리 위치
* 전처리기
* 전처리기 정의
* WIN32 - 필수 항목
* __WXMSW__ - 필수 항목
* _WINDOWS - 필수 항목
* WXUSINGDLL - 정적 빌드 대신 DLL 을 사용하여 컴파일하는 경우
* wxUSE_GUI=1 - 프로젝트에서 GUI 컴포넌트를 사용하는 경우(선택 항목)
* _UNICODE - 유니코드를 사용하는 경우
* _DEBUG - 디버그 활성화
* __WXDEBUG__ - wxWidgets의 디버그 기능을 사용하는 경우
* _CRT_SECURE_NO_DEPRECATE - 다음과 같은 경고가 표시되지 않게 하길 원할 경우 "This function or variable may be unsafe. Consider using <alternative> instead." warnings.
* _CRT_NONSTDC_NO_DEPRECATE - 다른 경고들이 표지되지 않게 한다. - 링커
* 일반
* 추가 라이브러리 디렉터리
* $(WXWIN)\lib\vc_lib - x86 정적 라이브러리를 사용하는 경우
* $(WXWIN)\lib\vc_dll - x86 동적 라이브러리를 사용하는 경우
* $(WXWIN)\lib\vc_amd64_lib - x64 정적 라이브러리를 사용하는 경우
* $(WXWIN)\lib\vc_amd64_dll - x64 동적 라이브러리를 사용하는 경우
* 입력
* 추가 종속성
* wxmsw29[ud]_core.lib wxbase29[ud].lib - wxWidgets 핵심 라이브러리
* comctl32.lib rpcrt4.lib winmm.lib advapi32.lib wsock32.lib - wxWidgets 에서 필요로하는 라이브러리
* wxpng[ud].lib wxzlib[ud].lib wxjpeg[ud].lib wxtiff[ud].lib - wxWidgets 에서 지원하는 라이브러리 (선택 항목) - 리소스
* 일반
* 추가 포함 디렉터리
* $(WXWIN)\include - wxWidgets include 디렉터리 위치
3.3 추가 작업
- 리소스 파일 추가
* wxWidgets 내부에서 사용하는 리소스를 프로젝트에 추가하여 한다.
* 추가 방법
* 확장자가 .rc 파일이 텍스트 파일을 생성한다
* 생성한 파일에 #define wxUSE_NO_MANIFEST 1 을 추가 한다.
* 생성한 파일에 #include <wx/msw/wx.rc> 을 추가하고 저장한다.
* 이 파일을 프로젝트에 추가한다.
'IT-개발 > 좋은 Library' 카테고리의 다른 글
WXWIDGET (펌) (0) | 2016.08.24 |
---|---|
Api - Hooking - EasyHook (펌) (0) | 2016.08.24 |
Boost 설치 (펌) - 기타링크 (0) | 2016.08.24 |