2023-07-10 cmake管理的项目中使用vcpkg管理第三方库

news2024/9/22 1:20:39

一、安装

从Github上克隆Vcpkg仓库然后执行安装命令即可:

git clone https://github.com/microsoft/vcpkg
.\vcpkg\bootstrap-vcpkg.bat

安装自己需要的第三方库

.\vcpkg\vcpkg install [packages to install]

更多教学可参考:
https://learn.microsoft.com/en-us/vcpkg/commands/install
https://github.com/Microsoft/vcpkg

二、在QtCreator中使用vcpkg

  1. 比如安装proj库
    在这里插入图片描述
  2. 先查看vcpkg安装路径
    在这里插入图片描述
  3. 在qtcreator 中添加vcpkg
    在这里插入图片描述
  4. 现在在CMakeLists中添加第1步中提示的cmaker,就可以正常调用库了,而且会自动拷贝proj动态库到程序所在目录
    在这里插入图片描述

三、导出vcpkg库,以便其它开发者可以共用

上述的方法二中,有点不好的是,如果有其它开发者共同开发同一个项目,那他需安装vcpkg且执行第二步操作才可以正常使用项目,下面使用vcpkg的导出功能

  1. 导出库,以proj库为例
    在这里插入图片描述

  2. 复制zip文件到自己项目目录并解压,我这里重命名为vcpkg

  3. 在项目CMakeLists中include自己导出的库:

    include(libs/vcpkg/scripts/buildsystems/vcpkg.cmake)

    这样就可以使用vcpkg里导出的第三方库了,而且其它人clone项目后,不用设置编译器,就可以直接使用,比第一种方法方便很多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/740183.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kubenetes手动安装V1.22.4

kubenetes手动安装V1.22.4 1、主节点和工作节点需要的组件 提示:为了方便测试请关闭selinux、关闭防火墙、swap. SELinux防火墙的设置: [rootlocalhost]#getenforce Disabled # 修改/etc/selinux/config文件 vim /etc/selinux/config 将SELINUXenfor…

【python】Excel文件的读取操作

测试用例.xlsx文件内容 利用xlrd模块读取文件 import xlrdfilename 测试用例.xlsx # 读取Excel表文件 wb xlrd.open_workbook(filename) # 读取Excel表中的第一个工作表 sheet wb.sheet_by_index(0) # 读取有内容的表格行数 rows sheet.nrows # 读取有内容的表格列数 cols…

嵌入式系统之ADC采样

嵌入式系统往往会有模拟信号的采集,比如模拟传感器温度、压力、流量、速度、光强等模拟量,经过放大整形滤波电路后送给ADC芯片,将电信号转转变成离散的数字量这个过程称之为AD采样,AD采样应用广泛,普遍遵循采样率3倍于…

ES 知识体系

https://www.easyice.cn/archives/367

【力扣算法03】之正则表达式匹配- python

文章目录 问题描述示例 1示例2示例3提示 思路分析代码分析完整代码运行效果及示例代码示例代码1运行结果示例代码2运行结果示例代码3运行结果 完结 问题描述 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘’ 的正则表达式匹配。 ‘.’ 匹配任意…

企业省时又省力:人工智能电话客服机器人的广泛应用

人工智能技术的崛起正深刻地改变着各个行业,其中之一便是客服领域。过去,人们常常在电话中与生硬的自动语音应答机打交道,这种体验常常令人沮丧。然而,随着人工智能电话客服机器人的广泛应用,企业不仅能够省时又省力&a…

MYSQL数据库系统期末试题及参考答案(2)

期末试题 : 一,创建数据库Game 二,数据表操作 1、创建表格players,记录游戏玩家信息: player_id:玩家ID,主键 player_name:玩家姓名,不能为空 age:年龄,必须…

Python数据分析常见Matplotlib SeaBorn图表

Matplotlib绘图 Matplotlib基本概念 Matplotlib:基于对象的思维构建的视觉符号。 每一个Axes(坐标轴)对象包含一个或者多个Axis(轴)对象,比如X轴、Y轴。 一个Figure(画像)是由一堆坐标轴对象组成的。 换…

2023中国数交会|美创科技获数字和软件服务行业两项大奖!

7月6日-9日,为期四天的2023中国国际数字和软件服务交易会(简称:数交会)圆满落幕。 作为国务院批准举办的国家级展会,本届数交会由商务部、科技部、中国贸促会和辽宁省政府主办,以“数字创新、融合发展”为主…

操作系统实战45讲|03.黑盒之中有什么、04.震撼的Linux全景图

03.黑盒之中有什么 黑盒之中有什么 从抽象的角度来看,内核就是计算机资源的管理者,管理资源是为了让应用使用资源。 计算机中的资源分为两类:硬件资源、软件资源; 硬件资源有以下这些: 总线,负责连接各种…

一个Transformer在尺度上适合多模态扩散的所有分布

文章目录 One Transformer Fits All Distributions in Multi-Modal Diffusion at Scale摘要本文方法实验结果 One Transformer Fits All Distributions in Multi-Modal Diffusion at Scale 摘要 本文提出了一个统一的扩散框架(UniDiffuser)来拟合一个模型中与一组多模态数据相…

Vue3+Vite+Pinia+Naive后台管理系统搭建之三:vue-router 的安装和使用

前言 如果对 vue3 的语法不熟悉的,可以移步 Vue3.0 基础入门快速入门。 如果对 vue-router 语法不熟悉的,可以移步Vue3 系列:vue-router。 1. 安装依赖 yarn add vue-router // or npm install vue-router 2. 构建 src/router/index.js …

对话式ai人工智能的主要好处有哪些

对话式 AI 是客户服务的一个重要且不断增长的组成部分,尤其是客户越来越多地采用的数字自助服务。 对话式 AI 可以在提高客户满意度 (CSAT) 方面发挥很重要的作用。在 IBM 于 2021 年进行的一项研究中,99% 的公司报告称,由于使用虚拟对话式 …

支持源码的低代码核心工具,逻辑引擎

在现代企业管理中,决策扮演着至关重要的角色。然而,随着业务规模的扩大和数据量的增加,人工决策变得越来越困难和耗时,而且容易受到主观因素的影响。逻辑引擎的出现为企业提供了一种高效、准确的决策推理工具,能够以逻…

数字化转型迫在眉睫

在挑战商业世界现状并实现数字化转型时,一定程度的阻力是不可避免的。事实上,《福布斯》的一篇文章援引哈佛商学院的研究表明,70%的组织变革努力都失败了,“原因之一是高管们没有从足够多的人那里了解他们的计划和想法。”支持。”…

市面上的ipad国产触控笔怎么样?好用的电容笔合集

而对那些把IPAD当作学习工具的人而言,这个Apple Pencil绝对是不可或缺的。然而,苹果版本的Pencil却是昂贵得让许多人望而却步。因此,最佳方法是选择一个平替的电容笔。我是从几年前开始用IPAD的,也是一个数码爱好者,近…

AIGC行业周刊【2023-0709】【第六期】2023年世界人工智能大会大佬发言汇总

点击加入->【智子纪元-AIGC】技术交流群 一、大咖观点: 0709AI日报:2023年世界人工智能大会大佬发言汇总「5年内,人类程序员没了」,Stability AI老板大胆预测,一众大佬狂怼:大错特错,都懒得…

在vite创建的vue3项目中加载Cesium立体地形信息并调整初始化角度

在vite创建的vue3项目中加载Cesium立体地形信息并调整初始化角度 使用vite创建vue3项目 npm create vitelatestcd到创建的项目文件夹中 npm install安装Cesium npm i cesium vite-plugin-cesium vite -D配置 (1)在项目的vite.config.js文件中添加&#x…

算法训练营第三十一天||理论基础 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和

理论基础 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 这么说有点抽象,来举一个例子: 例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎么拿? 指定每次…

专项练习24

目录 一、选择题 1、JavaScript 中的数字在计算机内存中占多少个Byte? 2、请问以下JS代码会输出什么 二、编程题 1、以数字的形式返回数字参数向下取整的结果 一、选择题 1、JavaScript 中的数字在计算机内存中占多少个Byte? A、2 Byte B、4Byte C…