C++ 외부 라이브러리 사용, 프로젝트 템플릿

2021. 3. 30. 00:10·C++/TBC++

외부 라이브러리 사용, 프로젝트 템플릿

git clone

  • git clone --recursive 명령어를 통해, 깃허브 내부적으로 링크된 레포지토리들까지 전부 받아올 수 있다.

CMake

  • Makefile을 좀 더 추상화하여 직관적으로 빌드할 수 있다.

  • 소스 코드 폴더 내에 CMakeLists.txt이 Makefile과 같은 역할을 한다.

  • 참고 : https://www.tuwlab.com/ece/27234

nanoGUI 예시

  • 링크 : https://github.com/wjakob/nanogui

  • git clone으로 소스 코드를 받아서, CMake로 빌드하고나면 솔루션 파일이 생긴다.

    • 해당 솔루션 파일을 열면 예제들을 실행시켜 볼 수 있다.
  • 다른 프로젝트에서 라이브러리를 사용하려면 따로 설정을 해야한다.

    • 예제 프로젝트를 우클릭하면 나오는 Properties를 통해 다음 항목들을 참고하면 된다.

      • C/C++ - General의 Additional include Directories

      • C/C++ - Preprocess의 Preprocessor Definitions

      • Linker의 Additional Dependencies

      • Linker - General의 Additional Library Directories

  • dll 파일이 프로그램이 존재하는 경로에 없으면 런타임 에러가 발생한다.

    • 디버그, 릴리즈 모드에 따라 해당 폴더에 dll 라이브러리 파일을 복사하면 해결된다.

    • 복사하는 대신에 dll 파일이 존재하는 위치를 프로젝트 설정의 환경변수로 추가하는 방법도 있다.

      • 프로젝트를 우클릭하면 나오는 Properties의 Debugging - Environment에 다음처럼 입력하면 된다.

        PATH=dll파일이 존재하는 폴더 경로

프로젝트 템플릿

  • 현재 프로젝트의 설정을 템플릿으로 내보낼 수 있다.

    • 내보낸 템플릿으로 프로젝트를 만들면, 내보낸 상태 그대로 프로젝트가 생성된다.
  • 메뉴의 Project - Export Template...을 클릭하면 템플릿 이름 등을 설정할 수 있다.

저작자표시 (새창열림)

'C++ > TBC++' 카테고리의 다른 글

C++ TCP/IP 네트워킹 (TCP/IP Networking)  (0) 2021.03.30
따라하며 배우는 C++ 20장  (0) 2021.03.30
C++ 멀티쓰레딩 예제 (벡터 내적)  (0) 2021.03.30
따라하며 배우는 C++ 19장  (0) 2021.03.30
따라하며 배우는 C++ 18장  (0) 2021.03.26
'C++/TBC++' 카테고리의 다른 글
  • C++ TCP/IP 네트워킹 (TCP/IP Networking)
  • 따라하며 배우는 C++ 20장
  • C++ 멀티쓰레딩 예제 (벡터 내적)
  • 따라하며 배우는 C++ 19장
Caniro
Caniro
  • Caniro
    Minimalism
    Caniro
  • 전체
    오늘
    어제
    • 분류 전체보기 (317)
      • Algorithm (13)
        • 알기 쉬운 알고리즘 (10)
        • Search (1)
        • Sort (2)
      • Arduino (0)
      • C++ (185)
        • Class (46)
        • Exception (6)
        • Library (51)
        • Overloading (10)
        • SmartPointer (5)
        • Syntax (33)
        • TBC++ (23)
        • Templates (9)
        • VisualStudio (2)
      • Embedded (1)
      • Git (4)
      • Java (5)
      • Linux (16)
        • Error (1)
        • Linux Structure (11)
      • MacOS (7)
      • OS (1)
        • Concurrency (1)
      • Python (21)
        • Class (1)
        • Function (2)
        • Syntax (17)
      • Raspberrypi (9)
      • Review (1)
      • Utility (12)
        • VSCode (5)
        • VirtualBox (3)
      • Web (8)
        • Nginx (1)
        • React (3)
        • Django (1)
      • Windows (20)
        • Registry (3)
        • WSL (1)
        • DeviceDriver (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    EXCLUDE
    알림
    vscode
    제외
    dism
    스프링 프레임워크 핵심 기술
    KakaoTalk
    그림판
    mspaint
    시스템 복구
    citrix workspace
    스프링
    Windows 11
    Workspace
    windows
    SunOS 5.1
    로지텍 마우스 제스처
    Solaris 10
    SFC
    백기선
    맥북 카카오톡 알림 안뜸
    윈도우 명령어
    java
    logi options
    윈도우
    unix
    spring
    MacOS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Caniro
C++ 외부 라이브러리 사용, 프로젝트 템플릿
상단으로

티스토리툴바