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

2021. 3. 30. 00:10·SW개발/C++
반응형

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

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...을 클릭하면 템플릿 이름 등을 설정할 수 있다.

반응형
저작자표시 (새창열림)

'SW개발 > C++' 카테고리의 다른 글

C++ TCP/IP 네트워킹 (TCP/IP Networking)  (0) 2021.03.30
C++ vcpkg  (0) 2021.03.30
C++ 비주얼 스튜디오 프로파일링 (Visual Studio Profiling)  (0) 2021.03.30
따라하며 배우는 C++ 20장  (0) 2021.03.30
C++ forward  (0) 2021.03.30
'SW개발/C++' 카테고리의 다른 글
  • C++ TCP/IP 네트워킹 (TCP/IP Networking)
  • C++ vcpkg
  • C++ 비주얼 스튜디오 프로파일링 (Visual Studio Profiling)
  • 따라하며 배우는 C++ 20장
Caniro
Caniro
  • Caniro
    Minimalism
    Caniro
  • 전체
    오늘
    어제
    • 전체보기 (319)
      • SW개발 (268)
        • Java Spring (6)
        • C++ (186)
        • Python (21)
        • Linux (16)
        • 알고리즘 (13)
        • Git (4)
        • Embedded (1)
        • Raspberrypi (9)
        • React (3)
        • Web (2)
        • Windows Device Driver (6)
      • IT(개발아님) (46)
        • Windows (26)
        • MacOS (7)
        • Utility (11)
      • 챗봇 짬통 (0)
      • 일상 (2)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바