여기서는 vcpkg를 사용해서 라이브러리를 설치하고 이를 MS 비주얼 스튜디오에서 사용하는 법에 대해 알아봅시다. vcpkg는 C언어 및 C++ 라이브러리를 편리하게 관리할 수 있도록 도와주는 프로그램입니다.
윈도우에서 vcpkg를 사용하면, macOS의 Homebrew와 비슷한 방식으로 라이브러리를 설치하는 것이 가능합니다. 뿐만 아니라 vcpkg를 비주얼 스튜디오와 연동하면, 헤더 파일만 포함시켜도 라이브러리가 자동으로 링크되므로 상당히 편리하죠.
vcpkg 설치
맨 먼저 비주얼 스튜디오가 설치되어 있어야 하고, 그 중에서도 C++ 데스크톱 개발 환경 (Desktop development with C++ workload)이 갖추어져 있어야 합니다. 이번 포스팅은 비주얼 스튜디오 커뮤니티 2019 버전을 기준으로 설명합니다만, 비주얼 스튜디오 2015 (업데이트 3)보다 최신 버전이면 vcpkg를 사용할 수 있습니다.
비주얼 스튜디오와 함께 윈도우용 Git 소프트웨어가 필요합니다. Git은 간단히 말하자면 소프트웨어의 유지보수를 위한 도구로서, 소스코드들을 모아서 저장소를 구성하면 각종 변경사항 등을 손쉽게 추적할 수 있습니다. 여러 명의 개발자들이 협업하는 프로젝트의 경우 사실상 필수요소라고 할 수 있죠. 여기서는 공개된 Git 저장소로부터 vcpkg를 내려받는 용도로 사용할 것이므로, 자세한 사용법을 몰라도 이 포스팅의 내용을 따라가는데는 지장이 없을 것입니다.
위에 언급된 Git 웹사이트에서 32비트 또는 64비트용 버전을 다운로드 받아서 설치할 수 있는데요. 설치하는 과정에서 여러가지를 물어봅니다만, 기본값대로 설치해도 무방합니다. 그러면 윈도우의 명령 프롬프트 등에서 Git 저장소를 사용할 수 있게 되죠.
이제 GitHub에 있는 저장소에서 vcpkg를 내려받아서 설치할 수 있습니다. 먼저 파워쉘 (PowerShell)을 실행해야 하는데, 시작 아이콘 옆의 검색창에 PowerShell을 입력하면 어플리케이션을 찾을 수 있을 것입니다. 파워쉘은 윈도우에 기본으로 내장된 프로그램이므로, 별도로 설치할 필요가 없습니다.
vcpkg가 설치될 별도의 디렉토리를 만드는 것이 좋습니다. 저는 GitHub 페이지의 도움말에 나온 대로, C드라이브에 DEV라는 디렉토리를 다음과 같이 만들었습니다.
> cd C:\
> mkdir DEV
그리고 다음과 같이 DEV 디렉토리로 이동한 다음, Git 저장소로부터 설치에 필요한 파일들을 내려받습니다.
> cd C:\DEV
> git clone https://github.com/microsoft/vcpkg.git
그러면 vcpkg 라는 서브디렉토리가 생성되면서, 그 안에 다운로드된 파일들이 있을 텐데요. 그 중에 필요한 것은 bootstrap-vcpkg.bat 이라는 배치파일입니다. vcpkg 서브디렉토리로 이동한 다음 배치파일을 실행합시다.
> cd vcpkg
> .\bootstrap-vcpkg.bat
그러면 vcpkg.exe 라는 실행파일이 생성됩니다. 다음 커맨드를 통해서 vcpkg를 비주얼 스튜디오와 연동시킬 수 있습니다.
> .\vcpkg integrate install
라이브러리 검색 및 설치
vcpkg의 설치가 완료되면, vcpkg.exe 실행파일을 통해서 라이브러리를 검색하고 설치할 수 있습니다. 설치하고자 하는 라이브러리가 있는지 여부 등을 알아보기 위해 검색을 하려면 다음과 같이 합니다.
> .\vcpkg search [검색어]
라이브러리를 찾았다면, vcpkg install 명령어를 통해 설치할 수 있습니다. 32비트와 64비트 어플리케이션을 위한 설치 방법이 다른데요. 필요에 따라 둘 중 한가지를 선택하여 다음과 같이 설치할 수 있습니다.
[32비트] > .\vcpkg install [라이브러리 이름]
[64비트] > .\vcpkg install [라이브러리 이름]:x64-windows
이렇게 라이브러리를 설치한 뒤에 비주얼 스튜디오의 소스 코드에서 관련 헤더파일을 포함시키면, 프로젝트를 빌드할 때 라이브러리가 자동으로 링크됩니다.
어떤 라이브러리들이 설치되어 있는지 그 목록을 확인하기 위해서는 vcpkg list 명령어를 사용할 수 있습니다.
라이브러리를 관리하는데 있어서 이들을 최신버전으로 유지하는 것은 상당히 중요하죠. 다음과 같이 vcpkg upgrade 명령어를 통해서 기존에 설치된 라이브러리를 업데이트 할 수 있습니다.
> .\vcpkg upgrade [패키지 이름]
더 이상 사용하지 않는 라이브러리를 삭제하기 위해서는 다음과 같이 vcpkg remove 명령어를 사용합시다.
> .\vcpkg remove [패키지 이름]
예시
라이브러리 몇 개를 직접 설치하고 사용해 봤습니다.
첫 번째 예시는 유명한 GSL 수치해석 라이브러리이며, 별도의 포스팅에 소개되어 있습니다.
vcpkg 패키지 이름은 gsl 이며, vcpkg install gsl (또는 64비트의 경우 gsl:x64-windows) 커맨드로 설치할 수 있습니다.
두 번째 예시는 고속 푸리에 변환을 위한 FFTW 라이브러리이고, 다음 포스팅에 소개되어 있습니다.
vcpkg 패키지 이름은 fftw3 이며, vcpkg install fftw3 (또는 64비트의 경우 fftw3:x64-windows) 커맨드로 설치할 수 있습니다.