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
。
包含 標準整合檔案。
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 型安裝程式。
格式化特定選項:
--ifw-configuration-file-path
--ifw-installer-file-path
--ifw-packages-directory-path
--ifw-repository-directory-path
--ifw-repository-url
Chocolatey (英文)
注意
本節涵蓋 vcpkg 的實驗功能,隨時可能會變更或移除。
vcpkg export --x-chocolatey [options] <package>...
匯出 Chocolatey 套件。
格式化特定選項:
Prefab
注意
本節涵蓋 vcpkg 的實驗功能,隨時可能會變更或移除。
vcpkg export --prefab [options] <package>...
匯出至 Prefab 格式。
格式化特定選項:
--prefab-artifact-id
--prefab-group-id
--prefab-maven
--prefab-min-sdk
--prefab-target-sdk
--prefab-version
選項。
所有 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 套件新增的版本後綴。