vcpkg에 대해서 알아보자

vcpkg에 대해서 알아보자

GLAD에 대해서 알아보고, 사용법을 정리해두었습니다.

vcpkg란 무료 C/C++ 종속성 관리자로, 다양한 C/C++ 라이브러리 및 패키지를 손쉽게 설치하고 관리하기 위해 사용합니다.

라이브러리를 프로젝트에 포함하려면 대부분 해당 라이브러리의 웹사이트에 가서 소스코드나 바이너리를 다운로드 받아야 합니다. 하지만 vcpkg를 이용하면 명령 프롬프트 및 터미널을 이용하여 vcpkg 명령어를 통해 원하는 패키지를 설치할 수 있습니다.

시작하기

Windows 기준으로 알아보았으므로 해당 방법만 기술하겠습니다.

https://github.com/microsoft/vcpkg

github 저장소를 git clone하여 사용할 수 있습니다. 사실 저 github README에 사용하기 위한 안내도 잘 되어있습니다. 공식문서 보면서 혼자 머리 속에 정리하면서 글을 적는 중입니다. 사실 이 글보다 공식문서 보는 게 더 좋을 듯

그리고 bootstrap-vcpkg.bat을 실행하여 vcpkg를 빌드 해줍니다.

git clone https://github.com/microsoft/vcpkg
.\vcpkg\bootstrap-vcpkg.bat

그리고 Visual Studio에서 vcpkg를 사용하려면 다음 명령을 입력합니다.

.\vcpkg\vcpkg integrate install

라이브러리 패키지 설치 방식

예를들어 opencv 라이브러리를 설치하고 싶다면 아래의 명령어를 통해 설치할 수 있습니다. 근데 주의할 점은 디폴트로 x86 버전 라이브러리를 설치하도록 되어있다는 것입니다. 만약 x64 버전을 원한다면 아래처럼 뒤에 옵션을 붙여주어야합니다.

.\vcpkg\vcpkg install [package name]:x64-windows
  1. 패키지 정보 검색 이 명령어로 vcpkg는 로컬에 있는 패키지 목록에서 opencv 패키지의 정보를 검색합니다. 로컬에 있는 패키지란 vcpkg\ports 경로를 말합니다.
  2. 의존성 확인 의존성을 확인하여 설치되지 않은 의존성이 있다면 함께 설치해줍니다.
  3. 소스 코드 다운로드 설치를 원하는 라이브러리의 소스코드를 적절한 저장소에 다운로드합니다.
  4. 빌드 다운로드한 라이브러리 코드를 현재 시스템 및 구성에 맞게 빌드합니다. (컴파일, 링크 과정 포함)
  5. 설치 빌드된 라이브러리와 헤더 파일, 그리고 필요한 다른 파일들을 vcpkg의 설치 디렉토리에 복사합니다.

여기서 디렉토리에 대해 짚고 넘어가자면 아래와 같습니다.

  • vcpkg\buildtrees:
    패키지의 빌드 과정 중 발생하는 모든 파일과 로그가 이 디렉토리에 저장됩니다
  • vcpkg\packages:
    패키지가 성공적으로 빌드된 후, 이 디렉토리에 빌드된 결과물이 임시로 저장됩니다. 즉, 빌드의 중간 결과물을 여기에 보관합니다
  • vcpkg\installed:
    패키지가 성공적으로 빌드되고 나면, 필요한 파일들(라이브러리, 헤더 파일, 구성 파일 등)이 이 디렉토리로 복사되거나 이동됩니다. 이는 vcpkg를 사용하는 개발자가 실제로 참조하게 될 최종 설치 디렉토리입니다.
  1. 통합 vcpkg는 Cmake나 Visual Studio 등과 통합할 수 있습니다. 어떤 것과 통합되었는지에 따라 설치한 라이브러리 및 패키지를 해당 개발환경에 연동시킵니다.

© 2022. All rights reserved.