Vcpkg介绍及使用

news/2024/7/7 19:25:28

      Vcpkg用于在Windows、Linux、Mac上管理C和C++库,极大简化了第三方库的安装,它由微软开源,源码地址:https://github.com/Microsoft/vcpkg,最新发布版本为2023.04.15 Release,它的license为MIT。

      在windows上安装vcpkg:
      1.clone代码到C:/dev目录下:git clone https://github.com/Microsoft/vcpkg.git
      2.在vcpkg目录下,打开cmd,执行: bootstrap-vcpkg.bat ,执行结果如下图所示:执行完后,会在vcpkg目录下生成可执行文件vcpkg.exe

      常用命令:
      1.查看支持哪些命令:vcpkg.exe --help
      2.查看支持的架构三元组(architecture triplets):vcpkg.exe help triplets ,有显示可知还支持android,ios库

      3.查看本地已安装的库:vcpkg.exe list
      4.安装指定的库,vcpkg在Windows中默认编译并安装的是x86版本的库,如zlib: vcpkg.exe install zlib
      若要编译并安装x64版本的库,需执行:vcpkg.exe install zlib:x64-windows
      5.移除本地已安装的库,如zlib:vcpkg.exe remove zlib 或 vcpkg.exe remove zlib:x64-windows
      6.搜索可构建的库信息,如zlib:vcpkg.exe search zlib
      7.使已安装的库集成到本地所有vs项目中(在Visual Studio中使用vcpkg):vcpkg.exe integrate install

      注:需要以管理员身份打开cmd,vs项目的属性中会新增一项vcpkg,如下所示: 

      8.取消集成到本地所有vs项目中:vcpkg.exe integrate remove
      9.仅集成到单个vs项目中:先执行vcpkg.exe integrate project,然后再配置NuGet(打开:工具 --> NuGet 包管理器)
      10.vcpkg安装库时不能指定某个具体的版本,即构建的库是vcpkg脚本中指定的最新的版本,若想获取某个库最新发布的版本,需要先git pull,拉取vcpkg最新的源码,然后移除库,再次安装 

      注:
      (1).为了在IDE以外在CMake中使用vcpkg,需要使用工具链文件CMAKE_TOOLCHAIN_FILE指定vcpkg.cmake,如:

cmake -DCMAKE_TOOLCHAIN_FILE=C:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake ..

      (2).在CMake中,仍需通过find_package来使用vcpkg中已安装的库


http://lihuaxi.xjx100.cn/news/1230339.html

相关文章

Docker部署开源项目Django-CMS企业内容管理系统

Docker部署开源项目Django-CMS企业内容管理系统 一、Django-CMS介绍1.1 Django-CMS简介1.2 Django-CMS特点 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载django-cms-quic…

YOLOv5使用自定义数据集实验

上一篇博文中介绍了YOLOv7训练自定义数据集,在这篇文章中,我们主要记录YOLOv5模型的实验过程,用于对比实验。 YOLOv5与YOLOv7毕竟一母同胞,因此部署起来也是极为类似。 数据集 数据集使用的与YOLOv7的实验数据集一样,…

使用 Pycharm 调试远程代码

文章目录 背景同步远程代码Interpreter注意点 背景 工作机是一台 Windows 电脑,而很多时候需要在 Mac 电脑上编码、配合 iPhone 模拟器,所以我以前是用 VNC 或者向日葵来远程 Mac 来编程,其实还能接受,但是最让我不舒服的是快捷键…

万字详解普遍操作系统进程七态与Linux进程七态

作为一个称职的系统管理员,为了更熟悉进程的管理流程,我们必须要知道进程的不同状态所对应的意义。 目录 了解进程状态普遍操作系统的概念就绪状态运行状态等待状态阻塞状态挂起状态暂停状态终止状态 Linux下的进程状态R (running)运行状态S (sleeping)可…

numpy中的np.random.rand、np.random.randn、np.random.randint、np.random.uniform等用法

随机数生成方法 1、np.random.rand(d0, d1, …, dn) np.random.rand(d0, d1, …, dn):生成一个指定形状的[0, 1)之间均匀分布的随机数数组。参数d0, d1, …, dn指定了生成的随机数数组的维度。 import numpy as nprandom_array np.random.rand(3, 2) # 生成一个…

点云综述(整理自网络资源)

目录 一、什么是点云 二、如何获取点云 1、三维激光扫描仪 2、双目相机 双目测距基本原理 视差图 双目测距的优点与难点 3、RGB-D相机 RGB-D什么意思 RGB-D相机的分类 RGBD相机的缺点: RGBD相机的优点 三、点云有哪些研究方向 1、基于点云的分类 2、基于…

4.7 wait notify - 4.11 多把锁

目录 4.7 wait notify1、为什么需要wait2、原理之wait/notify3、API的介绍 4.8 wait notify 的正确姿势4.9 Park & Unpark4.10 重新理解线程状态转换4.11 多把锁 4.7 wait notify 1、为什么需要wait 当持有锁的线程因为某种条件不能满足不能执行时,由于其持有…

EMC学习笔记(三)滤波

滤波 1.概述2.滤波器件2.1 电阻2.2 电感2.3 电容2.4 铁氧体磁珠2.5 共模电感 3.滤波电路3.1 滤波电路的形式3.2 滤波电路的布局与布线 4.电容在PCB的EMC设计中的应用4.1 滤波电容的种类4.2 电容自谐振问题4.3 ESR对并联电容幅频特性的影响4.4 ESL对并联电容幅频特性的影响4.5 电…