vcpkg export

概要

vcpkg export [options] {<package>... | --x-all-installed}

描述

將所建置套件從已安裝的 目錄 導出至獨立開發人員 SDK。

export 會產生可在另一部計算機上使用的獨立分散式 SDK(軟體開發工具包),而不需要個別取得 vcpkg。 其包含:

  1. 所選套件的預先建置二進位檔
  2. 其可轉移的相依性
  3. 整合檔案,例如 CMake 工具鏈MSBuild props/targets

注意

在傳統模式和指令清單模式,此命令的行為不同

命令 export 不會安裝任何套件或可轉移的相依性。 它只會匯出已安裝的套件。

如需詳細資訊, 請參閱指令清單模式傳統模式

傳統模式

在傳統模式中, vcpkg export 接受 三重限定套件規格 自變數(例如: zlib:x64-windows

您可以將自變數新增 <port name>:<triplet> 至命令行,以指定要導出的套件。

例如,若要匯出 和x64-linuxsqlite套件x64-windows,請使用:

vcpkg export sqlite:x64-windows sqlite:x64-linux --zip

此命令會以 zip 格式匯出指定的套件。 與 sqlite:x64-windowssqlite:x64-linux 都必須執行之前 vcpkg export安裝 。

指令清單模式

在指令清單模式中,命令會匯出所有目前安裝的套件。 安裝目錄包含指令清單中宣告的所有套件,vcpkg.json以及其可轉移的相依性。 使用此命令之前執行 vcpkg install ,以確保已安裝所有必要的套件。

在此模式中,您無法指定要匯出的個別套件。 此命令會以單一實體的形式在整個已安裝狀態上運作,並遵循指令清單檔案中指定的相依性和版本。

另一個差異是選項的需求 --output-dir 。 這個選項會指定將儲存匯出封裝的目錄。

例如,從指令清單目錄

vcpkg export --zip --output-dir=.\exports

將所有目前安裝的套件匯出至 .\exports zip 檔案中的目錄。 選項 --zip 會指定導出的套件應該壓縮成 zip 檔案。

標準整合

大部分的導出格式都包含一組標準整合檔案:

某些匯出格式與這個標準集合不同;如需詳細資訊,請參閱下面的個別格式說明。

格式

正式支援的 SDK 格式:

實驗性 SDK 格式(隨時可能變更或移除):

原始目錄

vcpkg export --raw [options] <package>...

在建立未壓縮的目錄配置 <output-dir>/<output>/

包含 標準整合檔案

郵遞區號

vcpkg export --zip [options] <package>...

在建立 zip 壓縮目錄配置 <output-dir>/<output>.zip

包含 標準整合檔案

7Zip

vcpkg export --7zip [options] <package>...

在建立 7zip 目錄配置 <output-dir>/<output>.7z

包含 標準整合檔案

NuGet (英文)

vcpkg export --nuget [options] <package>...

在建立 NuGet 套件 <output-dir>/<nuget-id>.<nuget-version>.nupkg

包含標準整合檔案,以及額外的 MSBuild 整合,以支援透過 NuGet 封裝管理員 包含在 MSBuild C++ 專案中.vcxproj。 請注意,您無法將產生的多個 NuGet 套件混合在 export 一起,只會使用其中一個套件。 若要新增其他連結庫,您必須使用完整的相依性集合來建立新的導出。

格式化特定選項:

IFW

注意

本節涵蓋 vcpkg 的實驗功能,隨時可能會變更或移除。

vcpkg export --ifw [options] <package>...

匯出至 IFW 型安裝程式。

格式化特定選項:

Chocolatey (英文)

注意

本節涵蓋 vcpkg 的實驗功能,隨時可能會變更或移除。

vcpkg export --x-chocolatey [options] <package>...

匯出 Chocolatey 套件。

格式化特定選項:

Prefab

注意

本節涵蓋 vcpkg 的實驗功能,隨時可能會變更或移除。

vcpkg export --prefab [options] <package>...

匯出至 Prefab 格式。

格式化特定選項:

選項。

所有 vcpkg 命令都支援一組 常見的選項

<package>

這是 SDK 中將包含的最上層建置套件清單。 也會包含這些套件的任何相依性,以確保產生的 SDK 是獨立的。

套件語法

<port name>:<triplet>

沒有三元的套件參考會自動由 預設目標三元組限定。 注意: <port name>:<triplet> 在指令清單模式中使用 時,不允許自 vcpkg export 變數。

--x-all-installed

注意

本節涵蓋 vcpkg 的實驗功能,隨時可能會變更或移除。

匯出所有已安裝的套件。 在指令清單模式中使用 vcpkg export 時,會隱含此選項。

--dry-run

請勿執行匯出,只列印導出計劃。

--ifw-configuration-file-path=

指定安裝程式組態的暫存盤路徑。

--ifw-installer-file-path=

指定匯出安裝程式的檔案路徑。

--ifw-packages-directory-path=

指定重新封裝套件的暫存目錄路徑。

--ifw-repository-directory-path=

指定匯出存放庫的目錄路徑。

--ifw-repository-url=

指定在線安裝程式的遠端存放庫 URL。

--x-maintainer=

指定匯出 Chocolatey 套件的維護者。

--nuget-description=

指定 NuGet .nupkg 檔案的輸出描述。

預設為 「Vcpkg NuGet export」。。

--nuget-id=

指定 NuGet .nupkg 檔案的輸出識別碼。

此選項會 --output 覆寫 NuGet 匯出工具特別的選項。 如需預設值,請參閱 --output

--nuget-version=

指定 NuGet .nupkg 檔案的輸出版本。

預設為 1.0.0

--output=

指定輸出基底名稱。

每個 SDK 類型都會使用此基底名稱來判斷其特定的輸出檔。 如需詳細資訊,請參閱上述 SDK 特定檔。

預設為 vcpkg-export-<date>-<time>。 的 export 腳本使用應該一律傳遞此旗標,以確保具決定性的輸出。

--output-dir=

指定輸出目錄。

所有最上層 SDK 檔案都會產生至此目錄。 指令清單模式中需要此選項。 在傳統模式中,這是選擇性的,預設為 vcpkg 根目錄

--prefab-artifact-id=

成品標識碼是根據 Maven 規格的項目名稱。

--prefab-group-id=

GroupId 會根據 Maven 規格唯一識別您的專案。

--prefab-maven

啟用 Maven。

--prefab-min-sdk=

Android 最低支援的 SDK 版本。

--prefab-target-sdk=

Android 目標支援的 SDK 版本。

--prefab-version=

Version 是根據 Maven 規格的專案版本。

--x-version-suffix=

指定要為導出的 Chocolatey 套件新增的版本後綴。