1、前言
????????vcpk是是一款開源的c/c++庫管理工具,尤其是在windows平臺,可以幫助我們很好的管理各種依賴包。
? ? ? ? 在windows環境做c/c++開發的人應該都深有體會,有時候編譯需要下載一堆依賴庫,導致搭建編譯環境特別麻煩。但是,通過vcpkg工具可以幫助我們很好的下載、更新以及刪除這些依賴包。
? ? ? ? 但是,經常使用vcpkg安裝依賴庫時一個高頻出現的問題就是,很容易出現安裝包失敗!所以基于此,本文主要是說明如何解決安裝失敗的問題。
2、安裝失敗的原因分析
? ? ? ? 安裝某一個庫,vcpkg會自動安裝各種依賴的包,所以用起來很省心。但是,為了安裝一個庫,vcpkg會自動安裝很多依賴庫,依賴庫一多,自然就容易安裝失敗。
2.1 安裝過程分析
? ? ? ? 正常情況下,安裝某一個包,只需要一條簡單的安裝命令即可搞定,以安裝boost庫為例:
.\vcpkg install boost:x64-windows-static
雖然命令十分簡單,但是可以分為如下幾個過程:
- 分析列出所有需要安裝的依賴庫
- 逐個下載、編譯、安裝每個依賴庫
以安裝boost庫為例,可以看到這個庫依賴很多其他庫,因此每個庫都得安裝完成。
對于每一包,都可以分為下載、編譯、安裝等3個基本過程:
2.2 失敗原因分析
? ? ? ? 失敗最常見的原因的往往都是出現在下載這一步。因為網絡原因,從github上下載很不穩定。。。很容易失敗
3、如何安裝失敗的包
3.1 確定下載的位置
? ? ? ? 首先需要找到vcpkg安裝的位置,然后在在安裝目錄下面會有一個downloads子目錄,安裝過程中,所有的包都會先下載到這個目錄:
3.2 手動下載安裝包到downloards目錄
? ? ? ? 安裝失敗最多的原因就是下載下載,因此只需要手動下載安裝包到downloads即可。
如果安裝過程中,下載失敗,只需要復制下載到地址到瀏覽器中手動進行下載,然后將下載的安裝包復制到downloads目錄下
3.3?重新執行安裝命令
? ? ? ? 由于上面一步手動下載了安裝包,重新執行安裝命令時,由于檢測到已經下載好了安裝包,系統便會接著執行編譯、安裝等步驟,然后就可以看到成功安裝。