vcpkg安裝_微軟牌包管理器vcpkg更新及路線圖計劃

蝎子

vcpkg是一套跨平臺,開源的C/C++庫管理器,今天的這篇文章是有關vcpkg主題的2020年4月博文更新。在這篇文章中,我們將分享有關vcpkg 2020.04發布版本的一些信息以及vcpkg的路線圖(roadmap),我們會在這里持續地發布有關vcpkg的最新消息。

vcpkg三月活動

首先我們想感謝所有vcpkg項目的貢獻者們。在過去的三月份里,下面的所有人貢獻了PR并被合并到項目的主分支中,這些貢獻者中有微軟的vcpkg核心開發團隊成員,也有我們的合作伙伴Beyondsoft的團隊成員。

64925612f35e857441b7e81be499f9c0.png

目前我們總共有826名貢獻者,非常感謝你們投入寶貴的時間來開發并完善一個更好的庫管理工具。同時,我們非常期待著你也能加入到貢獻者的隊伍中來。

2020.04 發布更新

在四月份,我們發布了vcpkg 2020.04更新。這次的更新包含了一些文檔內容的更新,一些產品上的優化改進,新增了5個新的庫(我們稱之為”ports”),以及對現有的69個ports的更新。

所有重大更新列表如下:

> vcpkg_from_git: 添加git over ssh功能。

> 安卓支持:導出到安卓Archive。

> Make configure meson sane and work for all targets。

> 添加新的策略:SKIP_ARCHITECTURE_CHECK。

> 首次添加iOS支持。

> 添加x-set-installed命令。

> 首次添加JSON支持。

下面列出的是5個新添加的代碼庫:

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個代碼庫。如果根據編譯配置(我們稱之為”triplets”)來匯總,具體數量請參見下表:

acf64a19ceb12ab2264a3d0fc9cb5cd7.png

vcpkg的路線圖

接下來是我們對于vcpkg的路線圖計劃。我們將繼續支持新的代碼庫并增加庫在Linux和macOS上的數量,同時,我們會基于你的使用反饋和建議來添加新的產品特性。下面是我們計劃添加的一些特性:

1. vcpkg將通過緩存來減少庫在一臺新機器上的安裝時間。

目前,vcpkg會下載源代碼到你的機器上并進行本機編譯。這個過程可以生成一個匹配你所指定的編譯配置的二進制文件,并和你的項目保持兼容性。但是有一些庫需要以相同的方式編譯到多臺機器上。還有一些例子包含一套運行在多臺編譯服務器上的持續集成的設定,或者有多個開發者在他們自己的開發機上為同一個項目上工作。接下來,vcpkg將可以使你僅做一次本機編譯并緩存生成的二進制輸出到一個文件或者一個二進制文件宿主服務(例如,Azure Artifact Storage)。下一次在另一臺機器上執行”vcpkg install”命名的時候,vcpkg將能夠從緩存中下載預編譯好的二進制文件,而不再需要執行另一次的本機編譯。這個功能特性可以顯著的節省時間,尤其是當你的項目是跨越多個編譯服務器的大型項目的時候。

2. vcpkg安裝的時候支持指定庫的版本。

在默認情況下,vcpkg提供了一個大概有1300個庫的目錄,這些庫在指定的快照環境下都經過了與其他庫的兼容性測試.這意味著,你可以隨意選擇安裝一個庫而不用擔心其版本沖突的問題,但這也限制了它的靈活性,因為你可能希望使用某個庫的特定版本。我們相信,一個好的庫管理器應該對高級用戶具備足夠的靈活性,我們將允許用戶在庫安裝階段指定一個特定的版本。如果你明白庫的依賴性圖表并愿意承擔兼容性測試的責任,則你可以選擇安裝庫的舊一點的版本,只要你愿意的話。你依舊可以在我們的目錄中運行我們提供的測試項目,就算對于不同的庫使用到了一些不同的版本,但是因為這其中海量的排列組合的可能性,我們也不能保證有100%的覆蓋率。

3. vcpkg將會提供一個清單文件,這個文件可以用來指定所有的依賴,并且可以CheckIn到源碼控制系統中。

這個想法非常直接:你可以在一個叫做vcpkg.json的文件中指明庫的依賴項,版本以及從何處可以獲取到這個依賴。這個文件可以成為你的源碼倉庫的一部分,并且vcpkg可以在你需要的時候讀取這個文件并按需下載所有需要的東西。

4. vcpkg將會更容易的從多個源中安裝代碼庫。

目前,vcpkg主要用來下載一些比較流行的開源代碼庫。在我們的目錄中,已經有1300個庫可用了,但是在企業環境中還有許多私有庫和一些比較小的庫沒有在我們的目錄中。想法是:提供一種可能性,可以在vcpkg中制定庫的源地址,這樣就可以下載它。通過這個方法,vcpkg可以管理你項目中的所有依賴,而不僅僅是開源代碼庫的部分。盡管在一開始開發團隊可能需要針對他們的環境做一些設定,但從長遠來看,這可以在項目環境搭建和持續集成階段節省很多時間。

5. vcpkg將會隨Visual Studio和Visual Studio Code一起發布。

在Visual Studio中,vcpkg將會包含在C++工作集中,而對于Visual Studio Code,它會被作為C++的一個擴展來發布。這兩套開發環境都已經包含了一些對vcpkg的支持,我們將會持續改進開發環境的整合性。目標是,在你使用這些開發環境時,可以更加流暢的下載你需要的代碼庫。所以,我們需要做的第一步就是將庫管理器集成到開發環境中,這樣當你需要使用到它的時候,它就已經在那里了。

總結

vcpkg作為庫管理器的后起之秀,在大微軟開發隊伍的努力工作下,假以時日,應該會成為其OneWindows生態系統中開發者這一側不可或缺的角色。雖然我不怎么用,但還是祝:越辦越好吧!

ea6a0eb754b4aabe8c1271390d0a8a96.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370225.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370225.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370225.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CSS 盒模型與box-sizing

一、盒模型 一個web頁面由許多html元素組成,而每一個html元素都可以表示為一個矩形的盒子,CSS盒模型正是描述這些矩形盒子的存在。 MDN的描述: When laying out a document, the browsers rendering engine represents each element as a r…

Java課程設計 購物車系統(個人博客) 201521123052 藍錦明

1. 團隊課程設計博客鏈接 課程設計團隊博客 2. 個人負責模塊或任務說明 (1)制作圖形菜單引導界面 (2)定義各獲取和輸出類函數 3. 自己的代碼提交記錄截圖 4. 自己負責模塊或任務詳細說明 import java.text.NumberFormat; public c…

7-12(圖) 社交網絡圖中結點的“重要性”計算(30 分)

在社交網絡中,個人或單位(結點)之間通過某些關系(邊)聯系起來。他們受到這些關系的影響,這種影響可以理解為網絡中相互連接的結點之間蔓延的一種相互作用,可以增強也可以減弱。而結點根據其所處…

linux系統的安裝程序,Linux系統安裝

為了不影響本機系統,建議在虛擬機上創建并安裝Linux系統,本次安裝centos7 64位的鏡像。詳細步驟如下:1、首先在虛擬機主頁創建新的虛擬機。... 圖1.1 2、選擇自定義安裝,這樣方便我們更好了解虛擬機,然后點擊下一步。.…

REST與Apache Camel

在Camel中公開HTTP終結點的方法有很多:jetty,tomcat,servlet,cxfrs和restlet。 其中的兩個組件– cxfrs和restlet也只需幾行代碼即可支持REST語義。 這個簡單的示例演示了如何使用camel-restlet和camel-jdbc進行CRUD操作。 四個HT…

百米路由器2登陸地址_騰達無線路由器怎么安裝,真的不錯

騰達無線路由器怎么安裝1、WAN口連接寬帶進線(即網絡公司進來的線或貓出來的線,一般顏色不一樣)、LAN口連接局域網內的電腦。2、設置所連接電腦的IP地址。右鍵點擊網上鄰居屬性3、右鍵點擊本地連接屬性4、選擇Internet協議TCP/IP屬性5、點擊選擇自動獲得IP地址和自動…

input點擊鏈接另一個頁面,各種操作。

1.鏈接到某頁<input type"button" name"Submit" value"確 定" class"btn" οnclick"location.hreffilename.html" />2.返回(等同后退)<input name"Submit2" type"button" class"btn"…

80. Remove Duplicates from Sorted Array II

題目描述 Follow up for “Remove Duplicates”: What if duplicates are allowed at most twice? For example, Given sorted array nums [1,1,1,2,2,3], Your function should return length 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn…

JavaFX 2 XYCharts和Java 7功能

我最喜歡的JavaFX 2功能之一是它在javafx.scene.chart包中提供的標準圖表。 該軟件包提供了幾種不同類型的現成圖表。 除了其中之一&#xff08; PieChart &#xff09;以外&#xff0c;所有其他都是“ 2軸圖”&#xff08; XYChart的特定實現&#xff09;。 在本文中&#xff…

前端基礎-HTML的的標簽詳解

閱讀目錄 一、head內常用標簽二、 HTML語義化三、 字符實體四、 h系列標簽五、 p標簽六、 img標簽七、 a標簽八、 列表標簽九、 table標簽十、 form標簽 一、 head內常用標簽 1、meta相關 #1、指定字符集<meta charset"gbk">#2、頁面描述<meta name"…

new失敗跟蹤函數_WinDbg預覽時間線:調試器中的時間線可以允許用戶記錄跟蹤

時間旅行調試(TTD)允許用戶記錄跟蹤&#xff0c;這些跟蹤是對程序執行的記錄。時間線是執行過程中發生的事件的直觀表示&#xff0c;這些事件可以是包括斷點&#xff0c;內存讀/寫&#xff0c;函數調用和返回以及異常。使用時間線窗口可以快速查看重要事件&#xff0c;了解相對…

linux 進程的執行時間,Linux 獲取進程執行時間

Linux 獲取進程執行時間1 前言測試一個程序的執行時間, 時間包括用戶 CPU 時間系統 CPU 時間時鐘時間之前獲取之前時間都是在程序的 main 函數用 time 函數實現, 這個只能粗略的計算程序的執行時間, 不能準確的獲取其他時間在看 APUE 時, 書中有關程序時間測試程序, 非常正規, …

Java環境變量的設置

1.計算機->屬性->高級系統設置->環境變量 2.設置JAVA_HOME和path&#xff0c;1.5之后的JDK可以不設置classpath 3.JAVA_HOME的路徑是JDK的安裝路徑 4.在系統變量里面找到path&#xff0c;然后點擊修改&#xff0c;在最后面添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 5…

merge

merge語句具有按條件獲取要更新或插入到表中的數據行&#xff0c;然后從1個或多個源頭對表進行更新或向表中插入行兩方面的能力。經常用在數據倉庫中移動大量數據。 語法: merge<hint> into<table_name> using<table_view_or_query> on<condition> whe…

可以優化同步嗎?

總覽 有一個常見的誤解&#xff0c;因為JIT很智能&#xff0c;并且可以消除對象的同步&#xff0c;而該對象僅存在于不影響性能的方法中。 比較StringBuffer和StringBuilder的測試 這兩個類基本上做相同的事情&#xff0c;除了一個是同步的&#xff08;StringBuffer&#xff0…

perl exe執行提示缺少文件解決方法

在項目開發中&#xff0c;使用perl語言編譯的exe可執行文件;在項目中使用了XML::LibXML模塊&#xff1b;發現exe在本機電腦執行正常&#xff0c;但在其他同事執行時卻提示缺少libxml2-2.dll等文件。 問題現象&#xff1a; 無法啟動此程序&#xff0c;因為計算機中丟失libxml2-2…

華為搶購助手_華為榮耀20系列手機采用的五項新科技,科普簡介

5月底榮耀20系列在上海發布&#xff0c;榮耀20系列旗艦手機擁有五項榮耀自主研發的新科技&#xff0c;包括LinkTurbo網絡聚合加速、超級NFC、方舟編譯器、人性化YOYO智慧生命體&#xff0c;超級藍牙。下面分別介紹一下這五項新科技。LinkTurbo網絡聚合加速先來科普一下LinkTurb…

Flex彈性布局

1 Flex: 彈性布局 (轉) 任何一個容器都可以指定為 Flex 布局。 1 .box {2  display: flex;3 } 行內元素也可以使用 Flex 布局。 1 .box{2 display: inline-flex;3 } 注意&#xff0c;設為 Flex 布局以后&#xff0c;子元素的 float、 clear 和 vertical-align 屬性將失效…

洛谷P3045 [USACO12FEB]牛券Cow Coupons

P3045 [USACO12FEB]牛券Cow Coupons 71通過248提交題目提供者洛谷OnlineJudge標簽USACO2012云端難度提高/省選-時空限制1s / 128MB提交 討論 題解 最新討論更多討論 86分求救題目描述 Farmer John needs new cows! There are N cows for sale (1 < N < 50,000), and …

python數據挖掘電影評分分析_Pyhon數據分析項目——男女電影評分差異比較

《用Python玩轉數據》數據分析項目一、程序功能基于MovieLens100k數據集中男性女性對電影的評分來判斷男性還是女性電影評分的差異性更大。二、數據來源數據集下載&#xff1a;http://files.grouplens.org/datasets/movielens/ml-100k.zip數據含義&#xff1a;u.data表示100k條…