C++ ,VCPKG那些事

玩過C++都知道,熟悉三方庫對開發工作的重要性,尋找同步更新、穩定、權威的庫源更是每一位開發者經常要做的功課,諸如赫赫有名的boost,google SDK、騰迅sdk、阿里庫,vcpkg等等,這里要說的就是VCPKG,以下是記錄一些零碎的用法以備忘:

安裝方法相關參考:

Visual Studio開源庫集成器Vcpkg全教程--利用Vcpkg輕松集成開源第三方庫_vs常用程序包源-CSDN博客

注意事項參考:

vcpkg問題-環境配置_vcpkg strawberr-CSDN博客

官博:

https://www.cnblogs.com/vcpkg

一些總結:

1: PowerShell(直接下載那種編譯好的,沒必要編譯源代碼)這 里使用7.1.3 即可(win10+vs2019環境)

編譯x64構架源碼

啟動powershell根目錄下的 pwsh.exe ,就像cmd控制臺一樣去使用,

2:安裝git64位(vcpkg下載都是調用git完成的) 、以及安裝7z1900-x64.msi 網絡要求比較強,安裝完成之后,

要將7z、powershell,git的路徑添加到系統變量中,以供全局使用

3:下載vcpkg源碼,在powershell控制臺下,切換至vcpkg目錄,通過命令行執行bootstrap-vcpkg.bat 編譯生成出vcpkg.exe

.\bootstrap-vcpkg.bat

于是就可以使用vcpkg了(記得編譯時要關閉vcpkg目錄)否則導致編譯vcpkg.exe生成失敗

4:像使用cmd控制一樣,啟動pwsh,然后切換至vcpkg目錄,啟動vcpkg

查看vcpkg開源列表:

.\vcpkg search

比如下載并編譯開源庫jsoncpp:

c:\user\anda\downloads\vcpkg-master\.\vcpkg install jsoncpp:x64-windows

:x64-windows 表示編譯成64位

5:查看安裝了哪些組件: .\vcpkg list

6:所有安裝完之后的組件(三方庫),全部在vcpkg的根目錄installed/x64-windows下,

lib為庫,include為頭文件包含 目錄

debug目錄為debug版本的生成庫

7:將編譯生成的lib等庫導出為7zip包:

.\vcpkg export jsoncpp:x64-windows --7zip

待完成之后,便會在vcpkg-master的根目錄生成一個7z壓縮包

8: 要注意的地方:

如果能開通翻墻網就比較好,因為vcpk本身就是國外的,在進行編譯時,它會下載許多中間插件,

如果被“墻”了,則會經常卡頓中斷導致下載不了

庫列表參考:

blog.csdn.net/njcyp123456789/article/details/53914993

或者進入ports目錄下可以看到所有庫列表(每一個庫就是一個目錄)

另外,為了節約因更換電腦或是重裝之后,又要重新下載的問題,可以備份保存vcpkg-master目錄下的downloads目錄,以節約時間

特別注意:如果poweshell顯示vcpkg還在工作,比如仍在downloading的情況,一旦窗口被強制關閉,vcpkg可能因此而損壞,需要更換新的版本了

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

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

相關文章

盤點63個Python登錄第三方源碼Python愛好者不容錯過

盤點63個Python登錄第三方源碼Python愛好者不容錯過 學習知識費力氣,收集整理更不易。 知識付費甚歡喜,為咱碼農謀福利。 鏈接:https://pan.baidu.com/s/1l7oooH9YovHmWzQ_58FRdg?pwd8888 提取碼:8888 項目名稱 A headless…

11-23 SSM4

Ajax 同步請求 :全局刷新的方式 -> synchronous請求 客戶端發一個請求,服務器響應之后你客戶端才能繼續后續操作,請求二響應完之后才能發送后續的請求,依次類推 有點:服務器負載較小,但是由于服務器相應…

Vue3+Ts實現聊天機器人(chatBot-附代碼)

一:項目介紹 本次實驗主要涉及到的技術是 Vue3 Ts,當然其中也有部分是 Vue2 格式的代碼以及 json 和 CSS 布局等。本來是想仿照 文心一言 來開發的一個聊天機器人案例。結果由于時間不足,可能只是做出來了一個半成品。不過核心功能是有的。由…

淺談安科瑞智能照明系統在馬來西亞國家石油公司項目的應用

摘要:隨著社會經濟的發展及網絡技術、通信技術的提高,人們對照明設計提出了新的要求,它不僅要控制照明光源的發光時間、 亮度,而且與其它系統來配合不同的應用場合做出相應的燈光場景。本文介紹了馬亞西亞石油公司智能照明項目的應…

tp8 使用rabbitMQ(2)工作隊列

代碼的參數說明在 第一小節的代碼中,如果需要可移步到第一節中查看 工作隊列 工作隊列(又稱:任務隊列——Task Queues)是為了避免等待一些占用大量資源、時間的操作。當我們把任務(Task)當作消息發送到隊列…

推薦一款png圖片打包plist工具pngPackerGUI_V2.0

png圖片打包plist工具,手把手教你使用pngPackerGUI_V2.0 此軟件是在pngpacker_V1.1軟件基礎之后,開發的界面化操作軟件,方便不太懂命令行的小白快捷上手使用。1.下載并解壓縮軟件,得到如下目錄,雙擊打開 pngPackerGUI.…

《第一行代碼:Android》第三版-2.4.3循環語句 for循環

本節主要講for 循環,主要就是創建個區間,然后用for 來遍歷。 /*** You can edit, run, and share this code.* play.kotlinlang.org*/fun main() {println("Hello, world!!!")for(i in 1..10)//表示 0 到10 但是包括10 ,即數學上的…

使用paddleocr進行OCR文字識別

1 OCR介紹 OCR(Optical Character Recognition)即光學字符識別,是一種將不同類型的文檔(如掃描的紙質文件、PDF文件或圖像文件中的文本)轉換成可編輯和可搜索的數據的技術。OCR技術能夠識別和轉換印刷或手寫文字&…

Python接口自動化測試——如何搭建測試環境

前言 接口測試的方式有很多,比如可以用工具(jmeter,postman)之類,也可以自己寫代碼進行接口測試,工具的使用相對來說都比較簡單,重點是要搞清楚項目接口的協議是什么,然后有針對性的進行選擇&a…

NF是哪個國家品牌?韓國NF-耐福功放芯片介紹

NF是韓國一家專注于數字音頻芯片領域公司旗下的數字功放IC品牌,2008年開始進入中國市場,ISweek工采網作為其代理商;在國內簡稱:韓國NF,又被稱耐福、耐福NTP功放芯片;國內長虹、TCL、海信、小豹AI音箱、騰訊…

大數據-之LibrA數據庫系統告警處理(ALM-37001 MPPDBServer實例Redo日志缺失)

告警解釋 當DN主實例有未同步到DN備實例的xlog日志被刪除時,產生該告警。 告警屬性 告警ID 告警級別 可自動清除 37001 嚴重 是 告警參數 參數名稱 參數含義 ServiceName 產生告警的服務名稱 RoleName 產生告警的角色名稱 HostName 產生告警的主機名…

shell從服務列表中讀取參數并檢查服務

一、shell腳本 #!/usr/bin/env bash# 讀取文檔數據 while read -r line do# 提取服務名和命令service_name$(echo "$line" | awk {print $1})command$(echo "$line" | awk {$1""; print substr($0,2)})#echo "服務名: $service_name"…

SQL進階學習

1.[NISACTF 2022]join-us sql報錯注入和聯合注入 過濾: as IF rand() LEFT by updatesubstring handler union floor benchmark COLUMN UPDATE & sys.schema_auto_increment_columns && 11 database case AND right CAST FLOOR left updatexml DATABA…

Vue3入門組合式 API

Vue3 學習 開發環境 tong ~/Projects/EasyVue3 $ node -v v16.20.1 tong ~/Projects/EasyVue3 $ sw_vers ProductName: macOS ProductVersion: 14.1.1 BuildVersion: 23B81 tong ~/Projects/EasyVue3 $ npm --version 8.19.4 tong ~/Projects/Ea…

selenium 簡單案例 <批量下載文件> <網頁自動化點擊上報>

一、批量下載文件 網頁分析 點擊跳轉到下載頁面 from selenium import webdriver import timedef get_link_list():# 創建瀏覽器對象driver webdriver.Chrome(executable_pathrC:\Users\nlp_1\Desktop\chromedriver\chromedriver-win32\chromedriver.exe)url https://www…

微信報名怎么做_輕松便捷的數字化報名體驗

微信報名:輕松便捷的數字化報名體驗 在這個數字化時代,微信已經成為我們生活中不可或缺的一部分。它不僅僅是一個社交平臺,更是一個功能強大的綜合性工具。其中,微信報名功能更是給我們的生活帶來了極大的便利。本文將詳細介紹微…

Django之cookie和session

文章目錄 Cookie的介紹Cookie的由來什么是CookieCookie原理Cookie覆蓋瀏覽器查看Cookie 在Django中操作Cookie設置Cookie查詢瀏覽器攜帶的Cookie刪除Cookie Cookie校驗登錄sessionSession的由來Session設置查看、更新Session值刪除Session值Seesion的其他方法Session的其他配置…

企業微信機器人:自動化辦公的未來已來!

導語:隨著科技的迅速發展,人工智能已經逐漸滲透到我們的日常生活和工作中。而企業微信機器人的出現,更是開啟了自動化辦公的新紀元。本文將為您詳細解析企業微信機器人的功能、優勢以及如何為企業帶來實質性的價值。 一、企業微信機器人的功…

擴展外部eMMC存儲

By Toradex胡珊逢 簡介 存儲器的嵌入式設備中扮演著重要角色,上面不僅安裝有操作系統,同時也保存著應用程序和運行日志等。對于存儲器如 eMMC,寫入的數據量決定其使用壽命,對于有大量日志記錄的應用,通常可以選用一個…

JavaScript:監聽事件

該方法用于向瀏覽器窗口注冊事件監聽器,當指定的事件(如單擊、按鍵按下)被觸發時,瀏覽器會自動調用指定的函數(回調函數)。 window.addEventListener(event, function, useCapture); 參數說明&#xff1a…