vcpkg安装_微软牌包管理器vcpkg更新及路线图计划
蝎子
vcpkg是一套跨平臺(tái),開源的C/C++庫管理器,今天的這篇文章是有關(guān)vcpkg主題的2020年4月博文更新。在這篇文章中,我們將分享有關(guān)vcpkg 2020.04發(fā)布版本的一些信息以及vcpkg的路線圖(roadmap),我們會(huì)在這里持續(xù)地發(fā)布有關(guān)vcpkg的最新消息。
vcpkg三月活動(dòng)
首先我們想感謝所有vcpkg項(xiàng)目的貢獻(xiàn)者們。在過去的三月份里,下面的所有人貢獻(xiàn)了PR并被合并到項(xiàng)目的主分支中,這些貢獻(xiàn)者中有微軟的vcpkg核心開發(fā)團(tuán)隊(duì)成員,也有我們的合作伙伴Beyondsoft的團(tuán)隊(duì)成員。
目前我們總共有826名貢獻(xiàn)者,非常感謝你們投入寶貴的時(shí)間來開發(fā)并完善一個(gè)更好的庫管理工具。同時(shí),我們非常期待著你也能加入到貢獻(xiàn)者的隊(duì)伍中來。
2020.04 發(fā)布更新
在四月份,我們發(fā)布了vcpkg 2020.04更新。這次的更新包含了一些文檔內(nèi)容的更新,一些產(chǎn)品上的優(yōu)化改進(jìn),新增了5個(gè)新的庫(我們稱之為”ports”),以及對(duì)現(xiàn)有的69個(gè)ports的更新。
所有重大更新列表如下:
> vcpkg_from_git: 添加git over ssh功能。
> 安卓支持:導(dǎo)出到安卓Archive。
> Make configure meson sane and work for all targets。
> 添加新的策略:SKIP_ARCHITECTURE_CHECK。
> 首次添加iOS支持。
> 添加x-set-installed命令。
> 首次添加JSON支持。
下面列出的是5個(gè)新添加的代碼庫:
1. skyr-url (v1.5.1)
2. boringssl (v2020-04-07)
3. quadtree (v2020-04-13)
4. avisynthplus (v3.5.0)
5. c4core (v2020-04-12)
總的來說,我們目前在vcpkg主倉庫目錄中一共支持1322個(gè)代碼庫。如果根據(jù)編譯配置(我們稱之為”triplets”)來匯總,具體數(shù)量請(qǐng)參見下表:
vcpkg的路線圖
接下來是我們對(duì)于vcpkg的路線圖計(jì)劃。我們將繼續(xù)支持新的代碼庫并增加庫在Linux和macOS上的數(shù)量,同時(shí),我們會(huì)基于你的使用反饋和建議來添加新的產(chǎn)品特性。下面是我們計(jì)劃添加的一些特性:
1. vcpkg將通過緩存來減少庫在一臺(tái)新機(jī)器上的安裝時(shí)間。
目前,vcpkg會(huì)下載源代碼到你的機(jī)器上并進(jìn)行本機(jī)編譯。這個(gè)過程可以生成一個(gè)匹配你所指定的編譯配置的二進(jìn)制文件,并和你的項(xiàng)目保持兼容性。但是有一些庫需要以相同的方式編譯到多臺(tái)機(jī)器上。還有一些例子包含一套運(yùn)行在多臺(tái)編譯服務(wù)器上的持續(xù)集成的設(shè)定,或者有多個(gè)開發(fā)者在他們自己的開發(fā)機(jī)上為同一個(gè)項(xiàng)目上工作。接下來,vcpkg將可以使你僅做一次本機(jī)編譯并緩存生成的二進(jìn)制輸出到一個(gè)文件或者一個(gè)二進(jìn)制文件宿主服務(wù)(例如,Azure Artifact Storage)。下一次在另一臺(tái)機(jī)器上執(zhí)行”vcpkg install”命名的時(shí)候,vcpkg將能夠從緩存中下載預(yù)編譯好的二進(jìn)制文件,而不再需要執(zhí)行另一次的本機(jī)編譯。這個(gè)功能特性可以顯著的節(jié)省時(shí)間,尤其是當(dāng)你的項(xiàng)目是跨越多個(gè)編譯服務(wù)器的大型項(xiàng)目的時(shí)候。
2. vcpkg安裝的時(shí)候支持指定庫的版本。
在默認(rèn)情況下,vcpkg提供了一個(gè)大概有1300個(gè)庫的目錄,這些庫在指定的快照環(huán)境下都經(jīng)過了與其他庫的兼容性測(cè)試.這意味著,你可以隨意選擇安裝一個(gè)庫而不用擔(dān)心其版本沖突的問題,但這也限制了它的靈活性,因?yàn)槟憧赡芟M褂媚硞€(gè)庫的特定版本。我們相信,一個(gè)好的庫管理器應(yīng)該對(duì)高級(jí)用戶具備足夠的靈活性,我們將允許用戶在庫安裝階段指定一個(gè)特定的版本。如果你明白庫的依賴性圖表并愿意承擔(dān)兼容性測(cè)試的責(zé)任,則你可以選擇安裝庫的舊一點(diǎn)的版本,只要你愿意的話。你依舊可以在我們的目錄中運(yùn)行我們提供的測(cè)試項(xiàng)目,就算對(duì)于不同的庫使用到了一些不同的版本,但是因?yàn)檫@其中海量的排列組合的可能性,我們也不能保證有100%的覆蓋率。
3. vcpkg將會(huì)提供一個(gè)清單文件,這個(gè)文件可以用來指定所有的依賴,并且可以CheckIn到源碼控制系統(tǒng)中。
這個(gè)想法非常直接:你可以在一個(gè)叫做vcpkg.json的文件中指明庫的依賴項(xiàng),版本以及從何處可以獲取到這個(gè)依賴。這個(gè)文件可以成為你的源碼倉庫的一部分,并且vcpkg可以在你需要的時(shí)候讀取這個(gè)文件并按需下載所有需要的東西。
4. vcpkg將會(huì)更容易的從多個(gè)源中安裝代碼庫。
目前,vcpkg主要用來下載一些比較流行的開源代碼庫。在我們的目錄中,已經(jīng)有1300個(gè)庫可用了,但是在企業(yè)環(huán)境中還有許多私有庫和一些比較小的庫沒有在我們的目錄中。想法是:提供一種可能性,可以在vcpkg中制定庫的源地址,這樣就可以下載它。通過這個(gè)方法,vcpkg可以管理你項(xiàng)目中的所有依賴,而不僅僅是開源代碼庫的部分。盡管在一開始開發(fā)團(tuán)隊(duì)可能需要針對(duì)他們的環(huán)境做一些設(shè)定,但從長(zhǎng)遠(yuǎn)來看,這可以在項(xiàng)目環(huán)境搭建和持續(xù)集成階段節(jié)省很多時(shí)間。
5. vcpkg將會(huì)隨Visual Studio和Visual Studio Code一起發(fā)布。
在Visual Studio中,vcpkg將會(huì)包含在C++工作集中,而對(duì)于Visual Studio Code,它會(huì)被作為C++的一個(gè)擴(kuò)展來發(fā)布。這兩套開發(fā)環(huán)境都已經(jīng)包含了一些對(duì)vcpkg的支持,我們將會(huì)持續(xù)改進(jìn)開發(fā)環(huán)境的整合性。目標(biāo)是,在你使用這些開發(fā)環(huán)境時(shí),可以更加流暢的下載你需要的代碼庫。所以,我們需要做的第一步就是將庫管理器集成到開發(fā)環(huán)境中,這樣當(dāng)你需要使用到它的時(shí)候,它就已經(jīng)在那里了。
總結(jié)
vcpkg作為庫管理器的后起之秀,在大微軟開發(fā)隊(duì)伍的努力工作下,假以時(shí)日,應(yīng)該會(huì)成為其OneWindows生態(tài)系統(tǒng)中開發(fā)者這一側(cè)不可或缺的角色。雖然我不怎么用,但還是祝:越辦越好吧!
總結(jié)
以上是生活随笔為你收集整理的vcpkg安装_微软牌包管理器vcpkg更新及路线图计划的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 楚乔传星儿眼睛为何瞎了 华佗秋水的作用是
- 下一篇: 北京环球影城一天能逛完吗