vcpkg export
vcpkg export [options] {<package>... | --x-all-installed}
將所建置套件從已安裝的 目錄 導出至獨立開發人員 SDK。
export
會產生可在另一部計算機上使用的獨立分散式 SDK(軟體開發工具包),而不需要個別取得 vcpkg。 其包含:
- 所選套件的預先建置二進位檔
- 其可轉移的相依性
- 整合檔案,例如 CMake 工具鏈 或 MSBuild props/targets
命令 export
不會安裝任何套件或可轉移的相依性。 它只會匯出已安裝的套件。
在傳統模式中, vcpkg export
接受 三重限定套件規格 自變數(例如: zlib:x64-windows
)
您可以將自變數新增 <port name>:<triplet>
至命令行,以指定要導出的套件。
例如,若要匯出 和x64-linux
的sqlite
套件x64-windows
,請使用:
vcpkg export sqlite:x64-windows sqlite:x64-linux --zip
此命令會以 zip 格式匯出指定的套件。 與 sqlite:x64-windows
sqlite:x64-linux
都必須執行之前 vcpkg export
安裝 。
在指令清單模式中,命令會匯出所有目前安裝的套件。 安裝目錄包含指令清單中宣告的所有套件,vcpkg.json
以及其可轉移的相依性。 使用此命令之前執行 vcpkg install
,以確保已安裝所有必要的套件。
在此模式中,您無法指定要匯出的個別套件。 此命令會以單一實體的形式在整個已安裝狀態上運作,並遵循指令清單檔案中指定的相依性和版本。
另一個差異是選項的需求 --output-dir
。 這個選項會指定將儲存匯出封裝的目錄。
例如,從指令清單目錄
vcpkg export --zip --output-dir=.\exports
將所有目前安裝的套件匯出至 .\exports
zip 檔案中的目錄。 選項 --zip
會指定導出的套件應該壓縮成 zip 檔案。
大部分的導出格式都包含一組標準整合檔案:
- 位於的 CMake 工具鏈
/scripts/buildsystems/vcpkg.cmake
- MSBuild 屬性/目標 位於
/scripts/buildsystems/msbuild/vcpkg.props
和/scripts/buildsystems/msbuild/vcpkg.targets
- 位於的安裝樹狀結構
/
某些匯出格式與這個標準集合不同;如需詳細資訊,請參閱下面的個別格式說明。
正式支援的 SDK 格式:
實驗性 SDK 格式(隨時可能變更或移除):
- IFW
- Chocolatey (英文)
- 預置
vcpkg export --raw [options] <package>...
在建立未壓縮的目錄配置 <output-dir>/<output>/
。
包含 標準整合檔案。
vcpkg export --zip [options] <package>...
在建立 zip 壓縮目錄配置 <output-dir>/<output>.zip
。
包含 標準整合檔案。
vcpkg export --7zip [options] <package>...
在建立 7zip 目錄配置 <output-dir>/<output>.7z
。
包含 標準整合檔案。
vcpkg export --nuget [options] <package>...
在建立 NuGet 套件 <output-dir>/<nuget-id>.<nuget-version>.nupkg
。
包含標準整合檔案,以及額外的 MSBuild 整合,以支援透過 NuGet 封裝管理員 包含在 MSBuild C++ 專案中.vcxproj
。 請注意,您無法將產生的多個 NuGet 套件混合在 export
一起,只會使用其中一個套件。 若要新增其他連結庫,您必須使用完整的相依性集合來建立新的導出。
格式化特定選項:
注意
本節涵蓋 vcpkg 的實驗功能,隨時可能會變更或移除。
vcpkg export --ifw [options] <package>...
匯出至 IFW 型安裝程式。
格式化特定選項:
--ifw-configuration-file-path
--ifw-installer-file-path
--ifw-packages-directory-path
--ifw-repository-directory-path
--ifw-repository-url
注意
本節涵蓋 vcpkg 的實驗功能,隨時可能會變更或移除。
vcpkg export --x-chocolatey [options] <package>...
匯出 Chocolatey 套件。
格式化特定選項:
注意
本節涵蓋 vcpkg 的實驗功能,隨時可能會變更或移除。
vcpkg export --prefab [options] <package>...
匯出至 Prefab 格式。
格式化特定選項:
--prefab-artifact-id
--prefab-group-id
--prefab-maven
--prefab-min-sdk
--prefab-target-sdk
--prefab-version
所有 vcpkg 命令都支援一組 常見的選項。
這是 SDK 中將包含的最上層建置套件清單。 也會包含這些套件的任何相依性,以確保產生的 SDK 是獨立的。
套件語法
<port name>:<triplet>
沒有三元的套件參考會自動由 預設目標三元組限定。
注意: <port name>:<triplet>
在指令清單模式中使用 時,不允許自 vcpkg export
變數。
注意
本節涵蓋 vcpkg 的實驗功能,隨時可能會變更或移除。
匯出所有已安裝的套件。 在指令清單模式中使用 vcpkg export
時,會隱含此選項。
請勿執行匯出,只列印導出計劃。
指定安裝程式組態的暫存盤路徑。
指定匯出安裝程式的檔案路徑。
指定重新封裝套件的暫存目錄路徑。
指定匯出存放庫的目錄路徑。
指定在線安裝程式的遠端存放庫 URL。
指定匯出 Chocolatey 套件的維護者。
指定 NuGet .nupkg 檔案的輸出描述。
預設為 「Vcpkg NuGet export」。。
指定 NuGet .nupkg 檔案的輸出識別碼。
此選項會 --output
覆寫 NuGet 匯出工具特別的選項。 如需預設值,請參閱 --output
。
指定 NuGet .nupkg 檔案的輸出版本。
預設為 1.0.0
。
指定輸出基底名稱。
每個 SDK 類型都會使用此基底名稱來判斷其特定的輸出檔。 如需詳細資訊,請參閱上述 SDK 特定檔。
預設為 vcpkg-export-<date>-<time>
。 的 export
腳本使用應該一律傳遞此旗標,以確保具決定性的輸出。
指定輸出目錄。
所有最上層 SDK 檔案都會產生至此目錄。 指令清單模式中需要此選項。 在傳統模式中,這是選擇性的,預設為 vcpkg 根目錄。
成品標識碼是根據 Maven 規格的項目名稱。
GroupId 會根據 Maven 規格唯一識別您的專案。
啟用 Maven。
Android 最低支援的 SDK 版本。
Android 目標支援的 SDK 版本。
Version 是根據 Maven 規格的專案版本。
指定要為導出的 Chocolatey 套件新增的版本後綴。