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
- 패키지 정보 검색 이 명령어로 vcpkg는 로컬에 있는 패키지 목록에서 opencv 패키지의 정보를 검색합니다. 로컬에 있는 패키지란
vcpkg\ports
경로를 말합니다. - 의존성 확인 의존성을 확인하여 설치되지 않은 의존성이 있다면 함께 설치해줍니다.
- 소스 코드 다운로드 설치를 원하는 라이브러리의 소스코드를 적절한 저장소에 다운로드합니다.
- 빌드 다운로드한 라이브러리 코드를 현재 시스템 및 구성에 맞게 빌드합니다. (컴파일, 링크 과정 포함)
- 설치 빌드된 라이브러리와 헤더 파일, 그리고 필요한 다른 파일들을 vcpkg의 설치 디렉토리에 복사합니다.
여기서 디렉토리에 대해 짚고 넘어가자면 아래와 같습니다.
vcpkg\buildtrees
:
패키지의 빌드 과정 중 발생하는 모든 파일과 로그가 이 디렉토리에 저장됩니다vcpkg\packages
:
패키지가 성공적으로 빌드된 후, 이 디렉토리에 빌드된 결과물이 임시로 저장됩니다. 즉, 빌드의 중간 결과물을 여기에 보관합니다vcpkg\installed
:
패키지가 성공적으로 빌드되고 나면, 필요한 파일들(라이브러리, 헤더 파일, 구성 파일 등)이 이 디렉토리로 복사되거나 이동됩니다. 이는vcpkg
를 사용하는 개발자가 실제로 참조하게 될 최종 설치 디렉토리입니다.
- 통합 vcpkg는 Cmake나 Visual Studio 등과 통합할 수 있습니다. 어떤 것과 통합되었는지에 따라 설치한 라이브러리 및 패키지를 해당 개발환경에 연동시킵니다.