본문 바로가기
IT·컴퓨터

vcpkg란 무엇인가(매니페스트 모드/일반모드)

by 기부전사 2024. 4. 3.

vcpkg는 Microsoft에서 제공하는 오픈 소스 C/C++ 의존성 관리자입니다.

 

이 도구는 모든 플랫폼( Windows, Linux, MacOS ), 빌드 시스템, 워크플로에 대해

 

C/C++ 라이브러리를 다운로드하고 빌드하는 데 사용됩니다.

 

다시 말하면,

 

vcpkg는 마이크로소프트에서 제공하는  오픈소스 "C/C++ 라이브러리 관리를 도와주는 패키지 관리자"입니다.

 

풀어서 말한게 더 어렵긴 한데,

 

무튼 , vcpkg를 사용하면 수천 개의 고품질 오픈 소스 라이브러리를 빠르게 가져와 애플리케이션에 통합할 수 있으며

 

라이브러리의 버전 관리와 설치를 간편하게 할 수 있습니다.

- vcpkg  의 주요 특징

1 )간단함과 유연성:  인기 있는 라이브러리를 한 단계로 다운로드하고 빌드할 수 있습니다.

또한, 명령줄 작업이나 매니페스트를 사용하여 의존성을 선언할 수 있습니다.


2) 신뢰성: 로컬 개발자와 CI/CD 워크플로우 간의 일관성을 유지할 수 있습니다.

 

3) 지원: Microsoft C++ 팀과 오픈 소스 기여자들로부터 지원을 받을 수 있습니다.(제일 중요)
vcpkg는 Windows, Linux, MacOS에서 C와 C++ 라이브러리를 관리하는 데 도움을 줍니다. 이 도구와 생태계는 계속 발전하고 있습니다.

 

 

- 매니페스트 모드에서 일반모드로 전환 방법

 

간혹 패키지 설치할 때, 

 

error: 매니페스트 모드에서 `vcpkg install`은 개별 패키지 인수를 지원하지 않습니다.
추가 패키지를 설치하려면 vcpkg.json을 편집한 다음 패키지 인수 없이 `vcpkg install`을 실행하세요.

 

라면서 안될 때가 있는데, 일반모드로 전환하는 방법은

vcpkg integrate install

 

이 명령어는 Vcpkg를 클래식 모드로 설정하고, 패키지를 설치할 때 매니페스트 파일을 사용하지 않습니다.

 

다시 매니페스트 모드를 사용하려면, 

vcpkg integrate manifest

 

 

참고로, 매니페스트 모드에서는 vcpkg install 명령어에 개별 패키지 인수를 사용할 수 없습니다.

 

대신, 매니페스트 파일에 패키지 목록을 나열해야 합니다.

 

매니페스트 파일(vcpkg 설치 파일 내, vcpkg.json ) 은 vcpkg integrate install 명령어를 실행할 때 사용됩니다. 이 명령어는 매니페스트 파일을 읽고,

 

 

해당 패키지들을 설치합니다.

 

예를 들어 

[dependencies]
boost=x.x.x
openssl=x.x.x

해당 파일 내용이 이런 식으로 되어있다고 하면,  

 

boost openssl은 설치하려는 패키지의 이름이고, x.x.x는 해당 패키지의 버전입니다.

 

매니페스트 파일을 생성하고 vcpkg integrate install 명령어를 실행하면, 해당 패키지들이 자동으로 설치됩니다.

 

보통은 명령프롬프트를 닫을 때 초기화 되는 것으로 보입니다.

 

계속 오류가 발생하면, vcpkg.json파일을 삭제 후 -> 명령프롬프트 실행 -> vcpkg install ~~~~ 하시면 됨.

반응형