[C/C++] vcpkg로 C++ 라이브러리 관리 쉽게 하기

2022. 12. 23. 11:2503. Resources/C, C++

728x90
반응형

C++ 라이브러리 관리하기

C++ 프로젝트가 커질수록 다양한 외부 라이브러리를 사용하게 된다.

맨 처음 gcc, g++, make만 가지고 프로젝트를 빌드할 때와는 차원이 다르게 복잡도가 늘어난다.

그래서 그걸 도와주기 위해 CMake를 사용하는데 이걸 사용할 때에도 무슨 기능을 어떻게 써야할지 막막할 때가 많다.

특히 외부 라이브러리를 가져오는데 있어서 너무 다양한 방법이 있는데, 그게 모두 동일하게 동작하지도 않거니와

라이브러리의 버전을 관리하는데 있어서도 굉장히 불편하다.

그런 점들을 해결해주고, 마치 javascript의 package.json 파일처럼 외부 라이브러리를 관리해주는게 있는데

그게 마이크로소프트에서 나온 vcpkg다.

 

vcpkg란

공식 페이지의 메인화면을 캡쳐해왔다.

마이크로소프트에서 만든 C/C++ 패키지 매니저이다.

많은 회사에서 성능을 최적화하기 위해서 C/C++을 이용해서 개발을 할텐데 아마 다 똑같이 이런 부분으로 힘들어하고 있었을거다.

이럴 때 대기업의 역할이 중요하다 ㅎㅎ 이런 좋은 서비스를 만들어줘서 감사할 따름이다!

 

vcpkg 시작하기

위의 네비게이션 바에서 Get Started 로 가보면 각 플랫폼별로 어떤 디펜던시를 설치해야하는지와,

그 뒤에 어떤 프로세스로 vcpkg를 사용할 수 있는지 설명해준다.

 

 

지원하는 패키지/라이브러리 찾기

아무래도 모든 패키지와 라이브러리를 지원할 수는 없다.

개인이 직접 만든 패키지나 라이브러리 같은 경우에는 사용할 수 없을 가능성이 높기 때문이다.

따라서 내가 사용하려는 패키지를 지원하는지 찾아볼 필요가 있다.

그건 여기 링크로 들어가서 검색해보면 찾아볼 수 있다.

그래도 엄청나게 다양하고 많은 패키지를 지원하기 때문에 많은 도움을 받을 수 있다.

 

CMake에 패키지 추가하기

자세한 사용 방법은 공식 홈페이지를 참고하면 좋다!
지원하는 패키지를 찾고, vcpkg에서 패키지를 관리하는 vcpkg.json에 넣고나서 CMake configuration을 하면

아래와 같이 어떻게 해당 패키지를 사용할 수 있는지 나온다.

저대로 CMakeLists.txt 파일에 추가하면 해당 라이브러리를 사용할 수 있게 된다!

 

vscode vcpkg template

그래도 이걸 쓰는데 어려움이 있을 수 있기 때문에, vcpkg를 쉽게 쓸 수 있는 템플릿을 만들어봤다.

필요하면 참고해보시는 것도 좋다!

vcpkg 템플릿: https://github.com/SunandBean/vscode_vcpkg_template

 

GitHub - SunandBean/vscode_vcpkg_template: Template repository for using vcpkg in vscode

Template repository for using vcpkg in vscode. Contribute to SunandBean/vscode_vcpkg_template development by creating an account on GitHub.

github.com

반응형