wxwidget - 설치 (펌)

2016. 8. 25. 15:01IT-개발/좋은 Library

반응형

라이브러리에 대해서 언급만 하고 Build해서 사용하는거는 함도 안해봤네요.


소개합니다~~ (펌)...!!! ㅋㅋㅋ 저두 남이 빌드해놓은거 카피해서 사용만 하고 있습니다.


담에 함 빌드해서 써봐야겠죠~


펌 : http://egloos.zum.com/dstein/v/2864277



Microsoft Visual C++ 2010 환경에서 wxWidgets 사용하기

1. 준비 사항

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 폴더에 결과물이 생성된다.  

  • - 빌드 옵션별 결과물 경로 

    경로

    옵션

    lib\vc_dll\mswuSHARED=1, UNICODE=1, BUILD=release
    lib\vc_dll\mswudSHARED=1, UNICODE=1, BUILD=debug
    lib\vc_lib\mswSHARED=0, UNICODE=1, BUILD=release
    lib\vc_lib\mswdSHARED=0, UNICODE=1, BUILD=debug
  • 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\mswuSHARED=1, UNICODE=1, BUILD=release
    lib\vc_amd64_dll\mswudSHARED=1, UNICODE=1, BUILD=debug
    lib\vc_amd64_lib\mswSHARED=0, UNICODE=1, BUILD=release
    lib\vc_amd64_lib\mswdSHARED=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