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.mzph.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…