다음을 통해 공유


오버레이 포트

일반적으로 vcpkg 포트는 레지스트리에서 가져옵니다. 설치하는 대부분의 포트는 공식 vcpkg 레지스트리에서 https://github.com/Microsoft/vcpkg제공됩니다. vcpkg를 사용하면 파일 시스템을 통해 사용 가능한 포트를 설치할 수 있습니다. 이러한 포트, 오버레이 포트를 호출합니다.

오버레이 포트는 기존 포트에 대한 드롭인 대체 또는 레지스트리에서 사용할 수 없는 새 포트로 작동할 수 있습니다. 패키지 이름을 확인하는 동안 오버레이 포트가 우선합니다.

오버레이 포트는 다음 순서로 평가됩니다.

  • 를 통해 --overlay-ports명령줄에 지정된 오버레이 위치
  • 를 통해 overlay-ports파일에 지정된 vcpkg-configuration.json 오버레이 위치
  • 환경 변수에 지정된 VCPKG_OVERLAY_PORTS 오버레이 위치입니다.

포트 이름을 확인할 때 일치하는 오버레이 포트를 포함하는 첫 번째 위치가 선택됩니다.

오버레이 포트 사용

디렉터리가 오버레이 포트 집합을 나타낼 수 있으며 다음 두 가지 방법 중 하나로 지정할 수 있습니다.

  • 단일 오버레이 포트: <directory>/sqlite3 단일 포트를 참조합니다.
  • 오버레이 포트의 디렉터리: <directory> 유효한 포트에 둘 다 vcpkg.json 포함해야 하는 포트의 디렉터리를 참조합니다 portfile.cmake.

다음과 같은 여러 가지 방법으로 오버레이 포트를 추가할 수 있습니다.

  • 명령줄: vcpkg 명령에 하나 이상의 --overlay-ports=<directory> 옵션 추가
  • 매니페스트: 다음에서 "overlay-ports" 배열 채우기 vcpkg-configuration.json
  • 환경 변수: 디렉터리 경로 목록으로 설정 VCPKG_OVERLAY_PORTS

예: 오버레이 포트 예제

이 디렉터리 구조가 지정된 경우:

여러 오버레이 포트 디렉터리를 가진 예제

팀 포트라는 오버레이 디렉터리에는 sqlite3, rapidjson 및 curl 포트가 포함되어 있습니다. my-ports라는 오버레이 디렉터리에는 sqlite3 및 rapidjson 포트가 포함됩니다. vcpkg 디렉터리에는 기본 레지스트리가 포함되어 있습니다.

다음을 실행합니다.

vcpkg install sqlite3 --overlay-ports=my-ports --overlay-ports=team-ports

설치하려면 다음을 수행합니다.

  • sqlite3 에서 my-ports

다음을 실행합니다.

vcpkg install sqlite3 rapidjson curl
    --overlay-ports=my-ports/rapidjson
    --overlay-ports=vcpkg/ports/curl
    --overlay-ports=team-ports

설치하려면 다음을 수행합니다.

  • sqlite3 에서 team-ports
  • rapidjson 에서 my-ports
  • curl 에서 'vcpkg/ports

예: 오버레이 포트를 사용하여 시스템 패키지 관리자 종속성 사용

vcpkg에 대한 시스템 패키지 관리자 종속성을 사용하려면 블로그 게시물을 참조하세요.