본문 바로가기
VS Code

Ubuntu 에서 VS Code와 vcpkg 그리고 cmake 사용 (1/2)

by 달나라외계인 2022. 10. 27.

▷ 순서 ◁
1. vcpkg 설치
2. vcpkg 에서 라이브러리 설치
3. cmake 설치
4. vs code에서 cmake 관련 확장 설치
5. cmake 빌드 설정
6. cmake와 vcpkg 라이브러리 설정

Ubuntu 환경에서 VS Code와 vcpkg 그리고 CMake를 사용할 일이 생겨서 정리해 보았습니다. 저도 리눅스를 다뤄본 경험이 부족해 잊지 않고자 기록에 남깁니다. 개발자로 사회 생활을 하면서 사실 부끄럽게도 vcpkg와 cmake는 둘 다 최근 처음 사용해 보았습니다. 다양한 도구나 플랫폼에서의 개발 경험이 저도 부족하다보니 생소한게 많더군요. 이 때문에 내용을 쓰다보니 길어져서 게시물은 두개로 나누었습니다.

 

먼저 vcpkg는 Microsoft가 만든 C++ 라이브러리를 관리해 주는 도구입니다. NuGet과 다르게 MacOS, Windows, Linux 환경을 모두 지원하고 있어서 잘 사용하면 편리합니다. 먼저 vcpkg 설치에 앞서 필요한 package들을 설치해 보겠습니다.

 

sudo apt update
sudo apt install -y zip unzip
sudo apt install -y build-essential pkg-config

zip, unzip은 압축을 풀 때 사용할 것이고, build-essential는 c++ 빌드에 사용할 gcc 라이브러리 입니다. pk-config는 컴파일시에 설치된 라이브러리를 조회 및 적용을 하기 위한 인터페이스 제공 라이브러리이고요. 모두 설치하셨다면 이제 vcpkg를 설치할 준비가 끝나셨습니다. wget을 이용하여 gitHub의 vcpkg을 받아봅시다.


https://github.com/microsoft/vcpkg

 

GitHub - microsoft/vcpkg: C++ Library Manager for Windows, Linux, and MacOS

C++ Library Manager for Windows, Linux, and MacOS. Contribute to microsoft/vcpkg development by creating an account on GitHub.

github.com

위의 경로에서 gitHub의 소스 형태로 직접 받아서 사용하셔도 되고, 압축되어 있는 파일들을 받아서 압축을 풀고 사용하셔도 됩니다. 여기서는 wget을 이용하여 압축된 파일을 받아서 진행하도록 하겠습니다.

wget -O vcpkg_master.tar.gz https://github.com/microsoft/vcpkg/archive/master.tar.gz

 

이제 vcpkg을 적당한 곳에 풀어 준 후 압축파일은 제거합니다. 참고로 vcpkg는 여러개 깔고 라이브러리 환경을 구축해 놓은 다음 환경을 remove, install을 지원합니다. 다른 버전의 라이브러리들로 여러 프로젝트를 진행하시고 계신다면 라이브러리를 vcpkg로 구축하여 놓고 환경을 바꿔 가며 하시는 것도 좋은 방법이라고 생각합니다.

sudo mkdir /opt/vcpkg
sudo tar xf vcpkg_master.tar.gz --strip-components=1 -C /opt/vcpkg
rm -rf vcpkg_master.tar.gz

이후에는 vcpkg 빌드를 해준 후 해당 환경을 등록해 줍니다.

sudo /opt/vcpkg/bootstrap-vcpkg.sh
sudo /opt/vcpkg/vcpkg integrate install

리눅스 환경에서 설치하면 다음과 같은 메시지가 뜹니다.

Applied user-wide integration for this vcpkg root.
CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=/opt/vcpkg/scripts/buildsystems/vcpkg.cmake"

CMake를 사용하시는 분은 Tool Chain File을 등록해서 써야 할 거다는 의미입니다. 이것은 VS Code에서 나중에 CMake 설정 중에 세팅해 줄겁니다. 기억해 둡니다. 해당 환경을 하나만 등록해 놓고 쓰시는 분은 상관없지만 나중에 여러 환경을 구축해서 사용하실 분은 등록을 해지하고 싶다면 다음의 명령을 사용하여 설정 해제 후 다른 환경으로 구축해 놓은 vcpkg 폴더를 install 명령을 통해 설정하면 됩니다.

sudo vcpkg integrate remove

여러 빌드 환경을 구축해 놓고 쓰실 분이 아니라면 심볼릭 링크를 /user/local/bin에 두어서 어디서나 vcpkg를 사용해 두시면 편리합니다.

sudo ln -s /opt/vcpkg/vcpkg /usr/local/bin/vcpkg


원하는 라이브러리 package를 설치할 때는 다음의 명령을 사용하면 됩니다.

sudo vcpkg install rang # rang 라이브러리 설치

사실 위의 이런 내용은 해당 gitHub의 README.md에도 잘 나와 있지만, 막상 찾으려 하면 어디 있는지 몰라서 쓸대없이 찾는데 시간이 걸리는 경우가 있어서 정리도 할 겸 적어둡니다. 저는 rang 라이브러리를 설치하는 명령을 예제로 들었습니다. 이것은 Terminal에서 칼라된 색상을 표현할 수 있게 도와주는 라이브러리입니다. 특별한 라이브러리는 아니지만 간단한 예제를 만들기 위해 한번 써보았습니다. 이를 통해 빌드까지 진행해 보도록 할테니 이 라이브러리를 일단 설치해주십시오.
추가로 원하는 라이브러리 package를 찾거나, 제거는 다음의 명령들을 사용하시면 됩니다.

sudo vcpkg search rang # rang 라이브러명이나 설명에 단어가 들어가는 라이브러리 검색
sudo vcpkg remove rang # rang 라이브러리 제거

vcpkg 를 설치 해 보았습니다. 내용이 길었네요. 다음 글에서는 cmake 설치 및 VS Code에 cmake 설정을 진행해 보도록 하겠습니다.

 


다음글

2022.10.27 - [VS Code] - Ubuntu 에서 VS Code와 vcpkg 그리고 cmake 사용 (2/2)