2023-07-10 cmake管理的项目中使用vcpkg管理第三方库
一、安装
从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
- 比如安装proj库

- 先查看vcpkg安装路径

- 在qtcreator 中添加vcpkg

- 现在在CMakeLists中添加第1步中提示的cmaker,就可以正常调用库了,而且会自动拷贝proj动态库到程序所在目录

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

-
复制zip文件到自己项目目录并解压,我这里重命名为vcpkg
-
在项目CMakeLists中include自己导出的库:
include(libs/vcpkg/scripts/buildsystems/vcpkg.cmake)
这样就可以使用vcpkg里导出的第三方库了,而且其它人clone项目后,不用设置编译器,就可以直接使用,比第一种方法方便很多
相关文章:
2023-07-10 cmake管理的项目中使用vcpkg管理第三方库
一、安装 从Github上克隆Vcpkg仓库然后执行安装命令即可: git clone https://github.com/microsoft/vcpkg .\vcpkg\bootstrap-vcpkg.bat 安装自己需要的第三方库 .\vcpkg\vcpkg install [packages to install] 更多教学可参考: https://learn.microsoft…...
【剑指offer】学习计划day3
目录 一. 前言 二.替换空格 a.题目 b.题解分析 c.AC代码 三. 左旋转字符串 a.题目 b.题解分析 c.AC代码 一. 前言 本系列是针对Leetcode中剑指offer学习计划的记录与思路讲解。详情查看以下链接: 剑指offer-学习计划https://leetcode.cn/stud…...
QT DAY1
做一个窗口界面 #include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui->setupUi(this);//设置窗口标题、图标this->setWindowTitle("Fly_Chat")…...
Mybatis-puls——条件查询的三种格式+条件查询null判定+查询投影
前言 在mybatis_plus的封装中的Wrapper<T>接口参数就是用于封装查询条件 在测试类中启动如上一个简单的查询,然后控制台运行会输出一大堆无关日志,这里先把这些日志关闭 去除无关日志文件 先新建一个XML配置文件 然后变成如下,这里…...
网络安全(黑客)自学
建议一:黑客七个等级 黑客,对很多人来说充满诱惑力。很多人可以发现这门领域如同任何一门领域,越深入越敬畏,知识如海洋,黑客也存在一些等级,参考知道创宇 CEO ic(世界顶级黑客团队 0x557 成员…...
通过一个实际例子说明Django中的数据库操作方法OneToOneField()的用法【数据表“一对一”关系】
当我们在Django中定义一个模型时,可以使用OneToOneField来建立一个一对一的关系。这种关系表示两个模型之间的一种特殊关联,其中一个模型的实例只能与另一个模型的实例关联。 让我们以一个简单的示例来说明OneToOneField的用法。假设我们正在构建一个简…...
HarmonyOS学习路之开发篇—数据管理(对象关系映射数据库)
HarmonyOS对象关系映射(Object Relational Mapping,ORM)数据库是一款基于SQLite的数据库框架,屏蔽了底层SQLite数据库的SQL操作,针对实体和关系提供了增删改查等一系列的面向对象接口。应用开发者不必再去编写复杂的SQ…...
实验:验证TCP套接字传输的数据不存在数据边界
来源:《TCP/IP网络编程》 学习ing 自己动手,把坑踩一遍,也可以学习到很多。 Linux环境下: 客户端: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <…...
【网络】协议的定制与Json序列化和反序列化
文章目录 应用层初识TCP协议通讯流程定制协议再谈协议网络版本计算器Protocal.hppCalServerCalClient Json的安装 应用层 我们程序员写的一个个解决我们实际问题, 满足我们日常需求的网络程序, 都是在应用层 初识TCP协议通讯流程 建立链接和断开链接 基于TCP协议,…...
浙大数据结构第一周最大子列和问题
题目详情: 给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni1, ..., Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 }ÿ…...
Selenium基础 — Selenium自动化测试框架介绍
1、什么是selenium Selenium是一个用于Web应用程序测试的工具。只要在测试用例中把预期的用户行为与结果都描述出来,我们就得到了一个可以自动化运行的功能测试套件。Selenium测试套件直接运行在浏览器中,就像真正的用户在操作浏览器一样。Selenium也是…...
力扣竞赛勋章 | 排名分数计算脚本
文章目录 力扣竞赛勋章介绍竞赛评分算法脚本(本文的重点内容)运行结果 代码修改自:https://leetcode.cn/circle/discuss/6gnvEj/ 原帖子的代码无法正常运行。 力扣竞赛勋章介绍 https://leetcode.cn/circle/discuss/0fKGDu/ 如果你想知道自…...
win10 远程 ubuntu 18.04 桌面
win10 远程 ubuntu 18.04 桌面 我们要在Windows 10上远程连接到Ubuntu 18.04,您需要按照以下步骤进行设置: 1. 在Ubuntu 18.04上安装并启用远程桌面服务。打开终端,并运行以下命令来安装xrdp: sudo apt update sudo apt instal…...
c++ -- STL
【C/C】STL详解_cstl_沉晓的博客-CSDN博客 Learning Record have done assignment class template An excellent programmer only needs to know how to use containers to improve program encapsulation and reduce coupling, without understanding the underlying pri…...
文字识别(OCR)介绍与开源方案对比
目录 文字识别(OCR)介绍与开源方案对比 一、OCR是什么 二、OCR基本原理说明 三、OCR基本实现流程 四、OCR开源项目调研 1、tesseract 2、PaddleOC 3、EasyOCR 4、chineseocr 5、chineseocr_lite 6、cnocr 7、商业付费OCR 1)腾讯…...
Modbus tcp转ETHERCAT在Modbus软件中的配置方法
Modbus tcp和ETHERCAT是两种不同的协议,这给工业生产带来了很大的麻烦,因为这两种设备之间无法通讯。但是,远创智控YC-ECT-TCP网关的出现,却为这个难题提供了解决方案。 YC-ECT-TCP网关能够连接到Modbus tcp总线和ETHERCAT总线中…...
开源点云数据集整理汇总
目录 一、ModelNet401. 网址2. 模型 二、ShapeNet1. 网址2. 模型 三、S3DIS Dataset1. 网址2. 模型 四、ScanNet1. 网址2. 模型 五、RGB-D Object Dataset1. 网址2. 模型 六、 NYU Depth Dataset V2 (纽约大学深度数据集)1. 网址2. 模型 七、 The Stanfo…...
【全栈开发指南】VUE前端路由设计及配置
我们在使用Vue.js时,创建单页面应用一定会用到路由,Vue Router 是 Vue.js 官方的路由管理器,我们在开发框架中过程中,需要结合Vue Router路由管理器提供的功能,设计和实现系统中菜单的配置。 一、实现原理 一级菜单r…...
C语言程序环境和预处理
本章主要以图片和文字的形式给大家讲解 程序的翻译环境和程序的执行环境 在ANSI C的任何一种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。 第2种是执行环境,它用于实际执行代码 2. 详解编译…...
为摸鱼助力:一份Vue3的生成式ElementPlus表单组件
目录 一、实现背景 二、简介 三、组织架构设计 四、实现方式 五、代码示例 六、示例代码效果预览 七、项目预览地址 & 项目源码地址 目前项目还有诸多待完善的地方,大家有好的想法、建议、意见等欢迎再次评论,或于github提交Issues 一、实现…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
