본문으로 바로가기

이전글(링크)에서 빌드한 NANA C++ LIBRARY를 사용하는 방법에 대해서 소개합니다.

 

 

1. 사용하는 폴더 및 파일들을 사용하기 편한 폴더로 이동

우리가 사용하는 파일은 이전 게시글에서 빌드한 라이브러리 파일(.lib) 두 개와 include 파일 들입니다. 

 

.\nana\include 폴더를 .\nana174\lib 폴더로 이동

.\nana\build\bin 폴더를 .\nana174\lib 폴더로 이동

 

 

2. Visual Studio 2019에서 새로운 프로젝트 생성

 

3. 프로젝트 설정

모든 구성, x64 선택

Windows SDK 버전이 10.0인지 확인

플랫폼 도구 집합이 Visual Studio 2019인지 확인

C++ 언어 표준을 ISO C++ 17로 변경

 

VC++ 디렉터리 탭 클릭

포함 디렉터리 목록에 include 폴더 선택

 

라이브러리 디렉터리 목록에 빌드한 라이브러리가 있는 lib 폴더 추가

 

C/C++ → 코드 생성 탭에서 빌드할 때 선택한 런타임 라이브러리와 동일한지 Debug와 Release 모두 체크

(Visual Studio 2017부터 /MD, /MDd가 기본값)

 

 

링커 → 입력 탭의 추가 종속성 항목에 빌드한 라이브러리 파일의 이름을 작성

Debug는 "nana_v142_Debug_x64.lib"를, Release는 "nana_v142_Release_x64.lib"를작성한다.

 

※ 파일명은 NANA 라이브러리의 버전에 따라 다를 수 있습니다.

 

4. 원래 있는 코드를 지우고 nana 예제 코드 작성

#include <nana/gui.hpp>
#include <nana/gui/widgets/label.hpp>
#include <nana/gui/widgets/button.hpp>

int main()
{
    using namespace nana;

    //Define a form.
    form fm;

    //Define a label and display a text.
    label lab{fm, "Hello, <bold blue size=16>Nana C++ Library</>"};
    lab.format(true);

    //Define a button and answer the click event.
    button btn{fm, "Quit"};
    btn.events().click([&fm]{
        fm.close();
    });

    //Layout management
    fm.div("vert <><<><weight=80% text><>><><weight=24<><button><>><>");
    fm["text"]<<lab;
    fm["button"] << btn;
    fm.collocate();
	
    //Show the form
    fm.show();

    //Start to event loop process, it blocks until the form is closed.
    exec();
}

 

5. 테스트

 

번외. 콘솔창 안 뜨게 하기

프로젝트 속성에서 모든 구성 선택

링커 → 시스템 탭 선택

 

하위 시스템을 콘솔에서 창으로 변경

 

코드의 int main()을 int __stdcall WinMain() 로 수정 (Win32를 이용하여 콘솔을 숨깁니다)

 

int __stdcall WinMain()
{
	(중략...)
}

 

완료

 

 

참조

http://nanapro.org/en-us/documentation/

 

Reference Manual - Nana C++ Library

Nana C++ Library Documentation Welcome! This is the documentation for Nana C++ Library. Getting Started Reference Manual Widgets Core Painting Animation Internationalization Utilities

nanapro.org