# vcpkg 설치

# 개요

vcpkg는 C 또는 C++ 라이브러리를 설치해주고 관리해주는 유틸리티입니다. 오픈 소스 라이브러리를 빌드할 때 가끔 상당한 문제가 발생하기도 하는데요 vcpkg를 사용하면 자동으로 빌드해주는 장점이 있습니다.

vcpkg는 윈도우즈와 리눅스 그리고 맥에서도 사용할 수 있습니다. 다만 여기서는 윈도우즈를 중심으로 설명합니다. 사용법은 동일하기 때문에 크게 달라질 것은 없습니다.

# 준비 사항

  • Windos 10, 8.1, 7
  • Visual Studio 2015 Update 3 또는 이후 버전
  • git
  • CMake 3.12.4
    • 없으면 자동으로 설치되는 형식으로 변경된 듯
    • 최신 vcpkg는 필요한 버전을 알아서 설치합니다.

# 설치 및 설정

우선 vcpkg를 설치할 폴더를 선택합니다. git이 설치되어 있다면, 아래와 같이 터미널에 입력하고 엔터를 칩니다.

git clone https://github.com/Microsoft/vcpkg.git

선택된 폴더 밑에 vcpkg 폴더가 생겨납니다. 폴더를 이동해서 터미널에 아래와 같이 입력하여 소스를 빌드합니다.

D:\Work\vcpkg> bootstrap-vcpkg.bat

설치가 완료되면 아래 화면과 같이 표시됩니다.

아래의 명령을 실행하면 "Visual Studio"에서 설치된 라이브러리들을 자동으로 인식하게 됩니다. include나 library 경로를 지정하지 않아도 자동으로 인식하고 빌드됩니다.

D:\Work\vcpkg> vcpkg integrate install

# 라이브러리 검색 및 설치

설치된 라이브러리의 목록을 표시하는 명령입니다. 아직 설치된 것이 없기 때문에 아무것도 나타나지 않습니다.

D:\Work\vcpkg> vcpkg list

설치할 수 있는 라이브러리를 검색하는 명령입니다. search 다음에 입력된 키워드를 검색해서 관련된 자료를 보여줍니다.

D:\Work\vcpkg> vcpkg search ffmpeg

비교적 빨리 빌드되고 설치되는 curl을 설치해보겠습니다. 터미널에서 아래와 같이 입력하고 엔터를 칩니다.

vcpkg install curl

설치가 완료되면 아래 화면과 같이 표시됩니다.

# 한번에 설치하기

여러 라이브러리를 한 번에 설치하는 것도 가능합니다. "vcpkg install " 다음에 원하는 패키지를 공백으로 구분해서 나열하시면 됩니다.

아래는 제가 자주 사용하는 것들을 한 번에 설치하는 예입니다.

# shared 라이브러리 빌드의 예

//공통
vcpkg install boost-asio boost-scope-exit boost-filesystem
vcpkg install curl nlohmann-json wxwidgets
vcpkg install aws-sdk-cpp[s3]

// 미디어 관련
vcpkg install ffmpeg[avresample,nvcodec,x264]
vcpkg install libvpx opus
vcpkg install libjpeg-turbo sdl2
vcpkg install portaudio libsoundio
vcpkg install opencv4
1
2
3
4
5
6
7
8
9
10
11

# static 라이브러리 빌드의 예

static 라이브러리의 경우에는 패키지 명 뒤에 :x86-windows-static를 붙여쓰시면 됩니다.

//공통
vcpkg install boost-asio:x86-windows-static boost-scope-exit:x86-windows-static boost-filesystem:x86-windows-static
vcpkg install curl:x86-windows-static nlohmann-json:x86-windows-static wxwidgets:x86-windows-static
vcpkg install aws-sdk-cpp[s3]:x86-windows-static

// 미디어 관련
vcpkg install ffmpeg[avresample,nvcodec,x264]:x86-windows-static
vcpkg install libvpx:x86-windows-static opus:x86-windows-static
vcpkg install libjpeg-turbo:x86-windows-static sdl2:x86-windows-static
vcpkg install portaudio:x86-windows-static libsoundio:x86-windows-static
vcpkg install opencv4:x86-windows-static
1
2
3
4
5
6
7
8
9
10
11

TIP

static 라이브러리를 사용하는 경우에는 Visual Studio의 프로젝트 옵션에서 "C++ → 코드 생성 → 런타임 라이브러리 → /MT"로 변경해주세요.