重疊埠

通常,vcpkg 埠是從登錄取得。 您安裝的大部分埠很可能是來自 位於 https://github.com/Microsoft/vcpkg的官方 vcpkg 登錄。 vcpkg 可讓您透過文件系統安裝可用的埠,我們稱之為這些埠、重迭埠。

重迭埠可以做為現有埠的卸除取代,或做為登錄中無法使用的新埠。 解析套件名稱,重迭埠會優先使用。

重迭埠會依下列順序進行評估:

解析埠名稱時,會選取包含相符重迭埠的第一個位置。

使用重迭埠

目錄可以代表一組重迭埠,而且可以用下列兩種方式之一指定:

  • 單一重迭埠: <directory>/sqlite3 是指單一埠
  • 重疊埠目錄: <directory> 是指連接埠目錄 有效的埠必須同時包含 vcpkg.jsonportfile.cmake

您可以透過數種方式新增重疊埠:

  • 命令行:將一或多個 --overlay-ports=<directory> 選項新增至 vcpkg 命令
  • 指令清單:在 中填入 "overlay-ports" 陣列 vcpkg-configuration.json
  • 環境變數:設定 VCPKG_OVERLAY_PORTS 為目錄路徑清單

範例:重迭埠範例

指定此目錄結構:

Example with multiple overlay port directories

名為 team-ports 的重疊目錄包含 sqlite3、rapidjson 和 curl 埠。 名為 my-ports 的重迭目錄包含 sqlite3 和 rapidjson 埠。 vcpkg 目錄包含預設目錄。

請執行:

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

若要安裝:

  • sqlite3my-ports

請執行:

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

若要安裝:

  • sqlite3team-ports
  • rapidjsonmy-ports
  • curl 從 『vcpkg/ports

範例:使用重疊埠來使用系統套件管理員相依性

若要對 vcpkg 相依性使用系統套件管理員相依性,請參閱我們的 部落格文章