首页 > 其他分享 >【vcpkg】使用vcpkg安装库

【vcpkg】使用vcpkg安装库

时间:2022-11-25 17:57:07浏览次数:65  
标签:使用 jsoncpp 编译 开源 vcpkg 移除 安装

https://blog.csdn.net/cjmqas/article/details/79282847

使用vcpkg

查看vcpkg支持的开源库列表

执行命令

.\vcpkg.exe search

安装一个开源库

这里的“安装”其实是指下载和编译。

比如我们需要安装常用的jsoncpp库,那么执行命令

.\vcpkg.exe install jsoncpp

我们大致可以了解到install会经历这几个过程:

  1. 环境初始化
  2. 下载源代码(如果已经在cache中,则不下载)
  3. 校验文件有效性
  4. 解压缩源代码
  5. 利用配套工具配置源码工程,在这里是使用的是cmake(如果是ffmpeg,则用msys2)
  6. 编译源码。一般会同时编译Release和Debug版本。
  7. 把编译好的文件拷贝到相关目录中去(一般是installed目录)

移除已经安装(编译)的开源库

如果移除一个已经安装的开源库,那么执行remove指令即可。比如我们要移除jsoncpp,那么执行命令:

.\vcpkg.exe remove jsoncpp

注意:

这个时候只是移除了默认的x86-winodws版本的文件,如果有其他平台的版本需要移除,需要制定相应的triplet。
移除也只是移除了二进制程序库而已,源码包和解压缩的源码并没有删除。

导出已经安装的开源库

有的时候,一个项目组中有很多人,不需要每个人都参与编译。一个人编译好所有开源库后到处给别人即可。有的时候也是出于备份的目的,也会导出已经安装的开源库。导出可以执行export指令。例如,我要导出jsoncpp库,那么执行:

.\vcpkg.exe export jsoncpp --7zip

导入备份的开源库

导入比较简单,执行import指令即可。例如:

.\vcpkg.exe import xxx.7z

vcpkg和Visual Studio的集成

集成到全局

“集成到全局”适用于Visual Studio开发环境和msbuild命令行。执行命令:

 .\vcpkg integrate install

当出现“Applied user-wide integration for this vcpkg root.”字样的时候,说明已经集成成功。这时候可以在任意的工程中使用安装好的第三方库。

移除全局集成

 .\vcpkg integrate remove

集成到工程

  1. 执行命令
 .\vcpkg integrate project

这时候会在“<vcpkg_dir>\scripts\buildsystems”目录下,生成nuget配置文件.

其中<vcpkg_dir>是指vcpkg实际所在目录。

标签:使用,jsoncpp,编译,开源,vcpkg,移除,安装
From: https://www.cnblogs.com/Balcher/p/16925903.html

相关文章

  • 带GPU的Pytorch安装【看看避坑啊!】
    之前写过一篇如何安装Pytorch的博客,但主要是CPU版本的,注意的事项还比较少。现在专门再记录一遍安装GPU版本的。CPU版本参考:Pytorch的安装前言一定要记住,先看自己电脑......
  • 使用docker部署nginx服务
    docker安装nginx1.查找镜像dockersearch命令查找,也可以去dockerhub(https://hub.docker.com)上搜索!!![root@localhost~]#dockersearchnginxNAME......
  • Nginx 编译安装
    Nginx编译安装安装环境:rocky8.0**安装前将防火墙和selinux关闭****文件中有注释的地方,复制时记得删除掉**官方包地址:http://nginx.org/en/linux_packages.html#......
  • 一文学会使用Vue3
    一文学会使用Vue3本文适合Vue初学者,或者Vue2迁移者,当然还是建议Vue3官网完全过一遍。不适合精通原理,源码的大佬们。先推荐两个vscode插件Volar首先推荐Volar,使用vscode......
  • Quartz_简单编程式任务调度使用(SimpleTrigger)
    最近在工作中,要做定时任务的更能,最开始的时候,想到的是JavaSE中,自带Timer及TimerTask联合使用,完成定时任务。最后发现,随着业务的复杂,JDK中的Timer和TimerTask......
  • std::filesystem 使用时编译不过去
    #include<filesystem>namespacefs=std::filesystem;解决方法:https://stackoverflow.com/questions/53201991/how-to-use-stdfilesystem-on-gcc-8实际是需要在编译......
  • 谷歌性能测评工具lighthouse使用
    转载自:http://t.zoukankan.com/heroljy-p-9001439.html ================================ github地址:https://github.com/GoogleChrome/lighthouse一、如果可以FQ......
  • 搭建Prometheus+Grafana+AlertManager监控报警系统之CentOS 7安装node exporter
    简介在Prometheus的架构设计中,PrometheusServer并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如......
  • 使用SignalR技术实现监控刷新功能
    我是CHARSET,转载请保留全文本。建立POCOpublicclassEventing:EventArgs{publicDateTimeEmitTime{get;set;}publicstring?Message{get;set;}}......
  • Mac 安装Minikube
    环境信息:guoguo-MacBook-Pro-3:~guoguo$dockerversionClient: Version:   17.12.0-ce APIversion:   1.35 Goversion:   go1.9.2 Gitcommit:   c......