重疊埠
通常,vcpkg 埠是從登錄取得。 您安裝的大部分埠很可能是來自 位於 https://github.com/Microsoft/vcpkg的官方 vcpkg 登錄。 vcpkg 可讓您透過文件系統安裝可用的埠,我們稱之為這些埠、重迭埠。
重迭埠可以做為現有埠的卸除取代,或做為登錄中無法使用的新埠。 解析套件名稱時,重迭埠會優先使用。
重迭埠會依下列順序進行評估:
- 透過
--overlay-ports
在命令行中指定的重疊位置。 - 透過
overlay-ports
在檔案中指定的vcpkg-configuration.json
重疊位置。 - 環境變數所
VCPKG_OVERLAY_PORTS
指定的重疊位置。
解析埠名稱時,會選取包含相符重迭埠的第一個位置。
使用重迭埠
目錄可以代表一組重迭埠,而且可以用下列兩種方式之一指定:
- 單一重迭埠:
<directory>/sqlite3
是指單一埠 - 重疊埠目錄:
<directory>
是指連接埠目錄 有效的埠必須同時包含vcpkg.json
和portfile.cmake
。
您可以透過數種方式新增重疊埠:
- 命令行:將一或多個
--overlay-ports=<directory>
選項新增至 vcpkg 命令 - 指令清單:在 中填入
"overlay-ports"
陣列vcpkg-configuration.json
- 環境變數:設定
VCPKG_OVERLAY_PORTS
為目錄路徑清單
範例:重迭埠範例
指定此目錄結構:
名為 team-ports 的重疊目錄包含 sqlite3、rapidjson 和 curl 埠。 名為 my-ports 的重迭目錄包含 sqlite3 和 rapidjson 埠。 vcpkg 目錄包含預設登錄。
請執行:
vcpkg install sqlite3 --overlay-ports=my-ports --overlay-ports=team-ports
若要安裝:
my-ports
中的sqlite3
請執行:
vcpkg install sqlite3 rapidjson curl
--overlay-ports=my-ports/rapidjson
--overlay-ports=vcpkg/ports/curl
--overlay-ports=team-ports
若要安裝:
team-ports
中的sqlite3
my-ports
中的rapidjson
curl
從 『vcpkg/ports
範例:使用重疊埠來使用系統套件管理員相依性
若要對 vcpkg 相依性使用系統套件管理員相依性,請參閱我們的 部落格文章。