VCPKG安裝和使用教程(經(jīng)驗(yàn)總結(jié))
1. 安裝
去GitHub上下載源碼,然后點(diǎn)擊安裝腳本就可以了。
先決條件:
- Windows 7 或更高版本
- 用于 Windows 的 Git
安裝過程:
- vcpkg的GitHub主頁(yè)在這里:https://github.com/microsoft/vcpkg
- Visual Studio 2015 更新 3 或更高版本(帶英文語言包)
- 在“命令提示符”窗口中,為 vcpkg 的克隆實(shí)例創(chuàng)建目錄。 如果打算為不同的生成目標(biāo)安裝庫(kù),最好在目錄名稱中包含目標(biāo)。 建議使用短路徑名稱(不含空格)(如
C:\src\win32\或C:\dev\iot\),否則,某些端口生成系統(tǒng)可能會(huì)出現(xiàn)路徑問題 。 在命令窗口中,切換到剛剛創(chuàng)建的目錄。 - 從 GitHub 克隆 vcpkg 存儲(chǔ)庫(kù):https://github.com/Microsoft/vcpkg。
git clone https://github.com/microsoft/vcpkg
此命令在 vcpkg 子目錄中創(chuàng)建存儲(chǔ)庫(kù)的本地副本。 此位置是此 vcpkg 克隆的 vcpkg 根目錄。
下載完成后,在“命令提示符”窗口切換到 vcpkg 目錄。
在 vcpkg 根目錄下,運(yùn)行 vcpkg 引導(dǎo)程序命令:
bootstrap-vcpkg.bat
引導(dǎo)程序?qū)⑹褂?Microsoft C/C++ 工具、庫(kù)和 Windows SDK 的位置配置 vcpkg。
更新 vcpkg
vcpkg 包管理器在 GitHub 上定期更新。 若要將 vcpkg 的克隆更新到最新版本,請(qǐng)從 vcpkg 根目錄運(yùn)行 git pull。 此命令會(huì)將 vcpkg 的副本與 GitHub 上的版本同步。 下載完成后,再次運(yùn)行引導(dǎo)程序。 引導(dǎo)程序會(huì)重新生成 vcpkg 程序,但保留已安裝的庫(kù)。
卸載 vcpkg
若要卸載 vcpkg,只需刪除 vcpkg 目錄。 刪除此目錄會(huì)卸載 vcpkg 分發(fā)以及 vcpkg 已安裝的所有庫(kù)。
但是,如果已執(zhí)行 vcpkg integrate install,則應(yīng)執(zhí)行 vcpkg integrate remove 來確保在刪除文件夾之前已清理集成 。
2. 使用
命令
| Command | 描述 |
|---|---|
vcpkg search [pat] | 搜索可安裝的包 |
vcpkg install <pkg>... | 安裝包 |
vcpkg remove <pkg>... | 卸載包 |
vcpkg remove --outdated | 卸載所有過期包 |
vcpkg list | 列出已安裝的包 |
vcpkg update | 顯示用于更新的包列表 |
vcpkg upgrade | 重新生成所有過期包 |
vcpkg hash <file> [alg] | 通過特定算法對(duì)文件執(zhí)行哈希操作,默認(rèn)為 SHA512 |
vcpkg integrate install | 使已安裝包在用戶范圍內(nèi)可用。 首次使用時(shí)需要管理權(quán)限 |
vcpkg integrate remove | 刪除用戶范圍的集成 |
vcpkg integrate project | 為使用單個(gè) VS 項(xiàng)目生成引用 NuGet 包 |
vcpkg export <pkg>... [opt]... | 導(dǎo)出包 |
vcpkg edit <pkg> | 打開端口進(jìn)行編輯(使用 %EDITOR%,默認(rèn)為“code”) |
vcpkg create <pkg> <url> [archivename] | 創(chuàng)建新程序包 |
vcpkg cache | 列出緩存的已編譯包 |
vcpkg version | 顯示版本信息 |
vcpkg contact --survey | 顯示聯(lián)系信息,以便發(fā)送反饋。 |
選項(xiàng)
| 選項(xiàng) | 描述 |
|---|---|
--triplet <t> | 指定目標(biāo)體系結(jié)構(gòu)三元組。 (默認(rèn):%VCPKG_DEFAULT_TRIPLET%,另請(qǐng)參閱 vcpkg help triplet) |
--vcpkg-root <path> | 指定 vcpkg 根目錄(默認(rèn):%VCPKG_ROOT%) |
3. 集成vcpkg
Windows 上的 Visual Studio 集成
從 vcpkg 根目錄,運(yùn)行 vcpkg integrate install來配置 Visual Studio,以便按用戶找到所有 vcpkg 頭文件和二進(jìn)制文件。 無需在 Visual Studio 中編輯 VC + + 目錄路徑。 如果有多個(gè) vcpkg 克隆,則你從中運(yùn)行此命令的克隆將成為新的默認(rèn)位置。
現(xiàn)在,只需鍵入文件夾/標(biāo)頭名稱即可輕松加入標(biāo)頭,并且自動(dòng)完成功能將幫助你完成這一切。 無需執(zhí)行任何額外的步驟即可鏈接到庫(kù)或添加項(xiàng)目引用。 下圖演示了 Visual Studio 查找 azure-storage-cpp 標(biāo)頭的方法。 Vcpkg 將其標(biāo)頭置于 /installed 子文件夾中,由目標(biāo)平臺(tái)予以分區(qū)。 下圖顯示庫(kù)的 /was 子文件夾中包含文件的列表:

Linux 或 macOS 上的 Visual Studio Code 集成
在 shell 或“終端”窗口中,將目錄更改為 vcpkg 根目錄。 然后運(yùn)行./vcpkg integrate install,在 Linux 或 macOS 上配置 Visual Studio Code。 此命令將設(shè)置 vcpkg 工具和庫(kù)的位置,并對(duì)源文件啟用 IntelliSense。
刪除 vcpkg 集成
如果已使用 integrate 選項(xiàng),則應(yīng)在刪除 vcpkg 實(shí)例之前刪除該集成。 若要?jiǎng)h除和清理該集成,請(qǐng)將目錄更改為 vcpkg 根目錄。
- 在 Windows 上,運(yùn)行
vcpkg integrate remove,確保清除該集成。 - 在 Linux 或 macOS 上,運(yùn)行
./vcpkg integrate remove命令。
使用舉例
我現(xiàn)在的場(chǎng)景是我需要 libpng 來進(jìn)行開發(fā),輸入命令:vcpkg install libpng來安裝,可以看到他在開始自動(dòng)下載。
注意我們可以使用.\vcpkg help triplet來看庫(kù)支持的模式。

4. 詳細(xì)介紹
4.1 新增庫(kù)
使用指令:vcpkg help triplet可以看到都支持什么平臺(tái)。
下載某一個(gè)平臺(tái)的包:.\vcpkg.exe install jsoncpp:x64-windows
(base) PS C:\Users\cds> vcpkg help triplet Available architecture triplets VCPKG built-in triplets: arm-uwp arm64-windows x64-linux x64-osx x64-uwp x64-windows-static x64-windows x86-windows VCPKG community triplets: arm-ios arm-linux arm-mingw-dynamic arm-mingw-static arm-windows arm64-ios arm64-linux arm64-mingw-dynamic arm64-mingw-static arm64-osx arm64-uwp arm64-windows-static-md arm64-windows-static ppc64le-linux s390x-linux wasm32-emscripten x64-ios x64-mingw-dynamic x64-mingw-static x64-openbsd x64-osx-dynamic x64-windows-static-md x86-freebsd x86-ios x86-mingw-dynamic x86-mingw-static x86-uwp x86-windows-static-md x86-windows-static x86-windows-v120
4.2 刪除庫(kù)
.\vcpkg.exe remove jsoncpp
注意:
這個(gè)時(shí)候只是移除了默認(rèn)的x86-winodws版本的文件,如果有其他平臺(tái)的版本需要移除,需要制定相應(yīng)的triplet。
移除也只是移除了二進(jìn)制程序庫(kù)而已,源碼包和解壓縮的源碼并沒有刪除。
4.3 查看已經(jīng)安裝的列表
.\vcpkg.exe list
4.4 更新已經(jīng)安裝的開源庫(kù)
一般有兩種更新方式。一個(gè)是update指令,可以顯示可以升級(jí)的開源庫(kù)的列表。另一個(gè)是upgrade的指令,會(huì)重新編譯所有需要更新的包。
到此這篇關(guān)于VCPKG安裝和使用教程的文章就介紹到這了,更多相關(guān)VCPKG安裝使用教程內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言實(shí)現(xiàn)的順序表功能完整實(shí)例
這篇文章主要介紹了C語言實(shí)現(xiàn)的順序表功能,結(jié)合完整實(shí)例形式分析了C語言順序表的創(chuàng)建、添加、刪除、排序、合并等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
學(xué)好C++必須做到的50條 絕對(duì)經(jīng)典!
學(xué)好C++必須做到的50條,絕對(duì)經(jīng)典!想要學(xué)好C++的朋友一定要認(rèn)真閱讀本文,更要做到以下50條2016-09-09
C C++算法題解LeetCode1408數(shù)組中的字符串匹配
這篇文章主要為大家介紹了C C++算法題解LeetCode1408數(shù)組中的字符串匹配示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
C語言實(shí)現(xiàn)簡(jiǎn)單的三子棋小游戲
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡(jiǎn)單的三子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
Unreal學(xué)習(xí)之簡(jiǎn)單三角形的繪制詳解
之所以寫這個(gè)繪制簡(jiǎn)單三角形的實(shí)例其實(shí)是想知道如何在Unreal中通過代碼繪制自定義Mesh,如果你會(huì)繪制一個(gè)三角形,那么自然就會(huì)繪制復(fù)雜的Mesh了。所以這是很多圖形工作者的第一課,快跟隨小編一起學(xué)習(xí)起來吧2023-02-02
C++標(biāo)準(zhǔn)模板庫(kù)map的常用操作
今天小編就為大家分享一篇關(guān)于C++標(biāo)準(zhǔn)模板庫(kù)map的常用操作,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12

