当前位置: 首页 > article >正文

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.kler.cn/news/133863.html

相关文章:

  • Linux终端与交互式Bash
  • 【数据分享】2023年我国省市县三级的独角兽企业数量(Excel/Shp格式)
  • 23111709[含文档+PPT+源码等]计算机毕业设计基于Spring Boot智能无人仓库管理-进销存储
  • 深度学习入门(第二天)——走进深度学习的世界 神经网络模型
  • 中级程序员——vue3+js+git面试题
  • 汽车虚拟仿真视频数据理解--CLIP模型原理
  • 【华为OD机试高分必刷题目】洗衣服(JavaPythonC++贪心算法实现)
  • 【数据结构(二)】单链表(3)
  • 三天吃透Redis面试八股文
  • ChatGPT之父被OpenAI解雇
  • 重生之我是一名程序员 35
  • map与set的封装
  • 【华为OD题库-027】代码编辑器-java
  • 设计模式-中介者模式-笔记
  • Perl的LWP::UserAgent库爬虫程序怎么写
  • 超大规模和隐私保护,融云如何助力 Web3 社交
  • C++ 20类型转换指南:使用场景与最佳实践
  • 软考小记-软件工程
  • 【LeetCode刷题-树】--654.最大二叉树
  • MySQL数据库索引以及使用唯一索引实现幂等性
  • 网络层——IP协议
  • 数据结构:红黑树讲解(C++)
  • Nginx负载均衡机制及常见问题
  • 16. Spring源码篇之指定构造方法参数
  • Prometheus+Grafana监控
  • 【Java并发编程七】Java内存模型
  • Django command执行脚本
  • C++初阶 日期类的实现(上)
  • 专业数据标注公司:景联文科技领航数据标注行业,满足大模型时代新需求
  • ⑩④【MySQL】什么是视图?怎么用?视图的检查选项? 视图的作用?[VIEW]