C++ 好用的包管理工具--vcpkg
2024-10-25 11:06 CN-Phoenix 閱讀(674) 評論(0) 收藏 舉報https://blog.csdn.net/lizhichao410/article/details/132339064
無法下載參考 https://blog.csdn.net/weixin_46078890/article/details/134092663
背景
Windows 下開發 C/C++ 程序,少不了編譯開源的第三方庫,使用這些庫開發極大的方便了程序員,使得我們不必重復造輪子。
由于開源庫絕大部分都來源于 Linux 系統、將其移植到 Windows 的 VC 開發環境下編譯比較復雜和麻煩;而且我們還需要考慮編譯出哪種類型的開源庫程序,比如:Debug/Release、動態庫/靜態庫、MD/MT、32位/64位,管理起來也很麻煩。
Vcpkg
概述
Vcpkg 是微軟社區開發的一個跨平臺的 C++ 包管理工具。它旨在解決 C++ 開發過程中依賴管理的痛點,它支持多個操作系統,包括:Windows、Linux和 macOS,使開發者能夠更加便捷地安裝、管理和更新 C++ 項目所需的第三方庫。
Vcpkg 優勢
相對于編譯開源庫的傳統方法,使用 Vcpkg 的優點如下:
跨平臺支持:Vcpkg 支持 Windows、Linux 和 macOS 等多個主流操作系統,使得開發者能夠在不同的環境下進行一致的依賴管理。
自動解決依賴:Vcpkg 能夠自動處理庫之間的依賴關系,簡化了依賴管理的復雜性,并且能夠提供一致的庫版本。
簡單易用:Vcpkg 的命令行接口使得安裝、更新和卸載庫都變得簡單快捷,節省了開發者的時間。
集成 Visual Studio:不需要設置庫文件、頭文件的所在目錄,自動集成。
Vckpg 下載和安裝
概述
Vcpkg 大量使用 psl 腳本,所以官方強烈推薦使用 PowerShell 而不是 CMD 命令行來執行各種操作,建議使用 7 以上版本。
安裝 Vcpkg
創建安裝目錄
先創建一個安裝目錄,如:C:\vcpkg,然后打開該目錄:
cd C:/vcpkg
1
clone 官方 git 倉庫
git clone https://github.com/microsoft/vcpkg
1
編譯 vcpkg
切換目錄到 vcpkg 倉庫文件夾:
cd vcpkg
1
執行引導腳本:
./bootstrap-vcpkg.bat
1
成功執行完成后,在目錄中可以看到文件 vcpkg.exe:
添加環境變量
將 vcpkg.exe 的路徑添加到環境變量,即可在任意位置執行 vcpkg 命令:
更新 Vcpkg
概述
vcpkg 包管理器在 GitHub 上定期更新。 若要將 vcpkg 的克隆更新到最新版本,執行 git pull 命令即可。
更新下載完成后,再次運行引導程序會重新生成 vcpkg 程序,但保留已安裝的庫。
git pull
進入 vcpkg目錄,然后執行 git pull 命令:
git pull
1
再次執行引導腳本:
./bootstrap-vcpkg.bat
1
Vcpkg 使用
安裝一個開源庫
這里以安裝 spdlog 庫為例進行演示。安裝第三方開源庫的命令為 vcpkg install pkgname。
默認安裝
如果不指定安裝的架構,vcpkg 默認把開源庫編譯成 x86 的 Windows 版本的庫:
vcpkg install spdlog
1
執行結果如下:
編譯完成后可以在目錄中看到庫的位置:
指定位數安裝
如果要安裝編譯某一個架構的開源庫,我們只需要在需要安裝的包后面指定相應的 triplet 即可。例如要編譯 64 位 Windows 版本的 spdlog,執行如下命令:
vcpkg install spdlog:x64-windows
1
命令執行完成后可以在目錄中查看新編譯的庫:
同樣,若要編譯安裝靜態庫,只需加上 -static 即可:
vcpkg install spdlog:x64-windows-static
1
刪除一個開源庫
要刪除一個已安裝的開源庫的命令為:vcpkg remove pkgname:
vcpkg remove spdlog:x64-windows
1
執行庫刪除命令后,其源碼包和解壓縮的源碼并沒有刪除,若再次安裝直接進行編譯步驟:
更新一個開源庫
列出需要更新的庫
可以使用 update 或者 upgrade 命令列出需要更新的庫:
vcpkg update
1
也可以使用 upgrade 命令:
vcpkg upgrade
1
更新過時的庫
不帶參數使用 upgrade 命令時將一次升級所有過時的庫。但默認情況下 upgrade 命令只列出要升級的庫,但不升級它們。
要有效地升級它們,應該使用 -no-dry-run 選項:
vcpkg upgrade --no-dry-run
1
————————————————
版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
原文鏈接:https://blog.csdn.net/lizhichao410/article/details/132339064
浙公網安備 33010602011771號