使用cmake,将github上的某一个库进行集成到vs2022上


可以参考如下链接的内容:

(还未完成,将在后序补充)


1.首先使用cmake,得到对应库的lib,include,bin文件夹

可以参考 https://www.youtube.com/watch?v=u5-Df1YlxCI

2.现在我用cmake对这个第三方库进行编译,生成了三个文件夹:一个放的是lib文件(lib文件夹),一个放的是dll文件(bin文件夹),还有一个是头文件(include文件夹)

1.在Visual Studio 2022中创建一个新的解决方案或打开现有的解决方案。

集成头文件(include文件夹)

2.在解决方案资源管理器中,右键单击你的项目,然后选择“属性”。

3.在属性页中,选择“C/C++” -> “常规”。

4.在“附加包含目录”字段中,添加第三方库的include文件夹路径。


集成静态库(lib文件夹)

5.然后选择“链接器” -> “常规”。

6.在“附加库目录”字段中,添加第三方库的lib文件夹路径。

7.在“链接器” -> “输入”->“附加依赖项”中,添加第三方库的lib文件名。

点击“应用”和“确定”按钮保存更改。


集成动态库(bin文件夹)

8.将bin文件夹的dll文件,复制到可执行目录下(也就是exe文件所在的那个文件夹)
在这里插入图片描述

现在,你可以在你的项目中使用该第三方库。在你的源代码中包含库的头文件,并使用相应的函数和类。

请注意,上述步骤假设你已经正确地编译了第三方库,并且你的系统已经配置为正确加载dll文件。确保将第三方库的dll文件放置在你的项目的可执行文件所在的目录,或者将dll文件路径添加到系统的环境变量中,以便在运行时正确加载库。

为什么dll文件的路径不用加在项目的属性中?

Visual Studio会在运行时自动搜索可执行文件所在的目录以及系统路径来加载所需的dll文件。

确保将dll文件放置在可执行文件(通常是生成的.exe文件)所在的目录中,或者将dll文件路径添加到系统的环境变量中,以确保在运行时能够正确加载库。

总结起来,在Visual Studio的项目设置中,只需要提供lib文件的路径和名称即可。dll文件的路径不需要单独指定,前提是你已将dll文件放置在可执行文件所在的目录或配置了系统环境变量。

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

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

相关文章

c#using关键字的作用

https://blog.csdn.net/Mona_Zhao/article/details/91363446 using关键字的三种作用&#xff1a; 1. 引用命名空间&#xff1b; 2. 为命名空间或者类型创建别名&#xff1b; 3. 使用using语句。 &#xff08;1&#xff09;引用命名空间 类似于c和c的#include<>, pyt…

idea意外退出mac

目录 问题描述 解决过程 问题描述 mac上的idea我很久没用了&#xff0c;之前用的时候还是发布新版的开源项目&#xff0c;这几天再用的时候&#xff0c;就出现了idea意外退出的问题&#xff0c;我上网查找了很久&#xff0c;对于我的问题都没有很好的解决。 解决过程 在寻求…

高并发下单例线程安全

1.使用静态内置类实现单例模式 自定义线程池 2.使用static代码块实现单例 3.使用静态内置类实现单例模式 4.使用static代码块实现单例 public class MySingleton {//使用volatile关键字保其可见性volatile private static MySingleton instance null;private MySingleton…

C# 采用3DES-MAC进行签名 base64解码与编码

** 3DES-MAC ** 3DES-MAC&#xff08;Triple Data Encryption Standard Message Authentication Code&#xff09;是一种消息认证码&#xff08;MAC&#xff09;算法&#xff0c;用于验证消息的完整性和真实性。3DES-MAC使用了3DES&#xff08;Triple Data Encryption Standa…

Multisim14.0仿真(十)同相放大器

一、仿真原理图&#xff1a; 二、仿真效果图&#xff1a;

海量小文件传输对于企业选用文件传输软件的重要意义

在当前的商业环境中&#xff0c;数据具有极其重要的作用&#xff0c;是企业竞争的核心要素。随着互联网、物联网和云计算等技术的快速发展&#xff0c;数据的类型和规模变得越来越多样。在这其中&#xff0c;海量小文件作为一种普遍而重要的数据形式&#xff0c;扮演着连接信息…

Python UDP编程

前面我们讲了 TCP 编程&#xff0c;我们知道 TCP 可以建立可靠连接&#xff0c;并且通信双方都可以以流的形式发送数据。本文我们再来介绍另一个常用的协议--UDP。相对TCP&#xff0c;UDP则是面向无连接的协议。 UDP 协议 我们来看 UDP 的定义&#xff1a; UDP 协议&#xff…

包管理工具--》npm的配置及使用(一)

目录 &#x1f31f;概念 &#x1f31f;背景 &#x1f31f;前端包管理器 &#x1f31f;包的安装 本地安装 全局安装 &#x1f31f;包配置 配置文件 保存依赖关系 &#x1f31f;包的使用 &#x1f31f;写在最后 &#x1f31f;概念 模块&#xff08;module&#xff09…

pgsql 报错 later table “drop column” is not supported now

报错 使用pgsql执行下面的SQL报错 alter table test_user drop clolumn name;报错信息&#xff1a; later table “drop column” is not supported now。 报错原因 hologres pgsql的数据库&#xff1a; 删除列目前还是灰度测试阶段&#xff0c;需要在sql前加上set hg_ex…

腾讯云免费SSL证书申请流程_每年免费50个HTTPS证书

2023腾讯云免费SSL证书申请流程&#xff0c;一个腾讯云账号可以申请50张免费SSL证书&#xff0c;免费SSL证书为DV证书&#xff0c;仅支持单一域名&#xff0c;申请腾讯云免费SSL证书3分钟即可申请成功&#xff0c;免费SSL证书品牌为TrustAsia亚洲诚信&#xff0c;腾讯云百科分享…

喜马拉雅 Redis 与 Pika 缓存使用军规

作者&#xff1a;喜马拉雅 董道光 宣言&#xff1a;缓存不是万金油&#xff0c;更不是垃圾桶&#xff01;&#xff01;&#xff01; 缓存作为喜马拉雅至关重要的基础组件之一&#xff0c;每天承载着巨大的业务请求量。一旦缓存出现故障&#xff0c;对业务的影响将非常严重。因…

mysql创建用户

创建用户 创建 -- 创建用户 itcast , localhost只能够在当前主机localhost访问, 密码123456; create user test01localhost identified by 123456;使用命令show databases;命令&#xff0c;只显示一个数据库&#xff0c;因为没有权限 -- 创建用户 test02, 可以在任意主机访问…

VScode连接远程JupyterNotebook显示点云ply文件

1. remote ssh的配置文件config中添加 Host Jupyter-ServerHostName <IP>ForwardX11 yesForwardX11Trusted yesForwardAgent yesUser <Username> 2. 在远程服务器的.sshd_config中把X11forward的开关打开为yes 3. 在home文件夹中更改.bashrc&#xff0c;加入以下…

【huggingface】数据集及模型下载并保存至本地

目录 数据集ChnSentiCorppeoples_daily_ner 模型bert-base-chinesehfl/rbt3t5-baseopus-mt-zh-enChinese_Chat_T5_Base 环境&#xff1a;没有代理&#xff0c;无法访问部分国外网络 数据集 正常情况下通过load_dataset加载数据集&#xff1b;save_to_disk保存至本地&#xff1b…

Azure + React + ASP.NET Core 项目笔记一:项目环境搭建(一)

不重要的目录标题 前提条件第一步&#xff1a;新建文件夹第二步&#xff1a;使用VS/ VS code/cmd 打开该文件夹第三步&#xff1a;安装依赖第四步&#xff1a;试运行react第五步&#xff1a;整理项目结构 前提条件 安装dotnet core sdk 安装Node.js npm 第一步&#xff1a;新…

虚拟机Ubuntu20.04 网络连接器图标开机不显示怎么办

执行以下指令&#xff1a; sudo service network-manager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service network-manager start

红包雨功能高并发、高可用、高性能落地

红包雨功能是一项很有趣的活动,但是在技术实现上需要经过多方面的考虑和优化,才能保证系统的稳定性和用户体验。本文将从多个方面来介绍红包雨功能的设计和实现。 技术架构设计 在开始设计红包雨功能之前,首先需要确定系统的技术架构。一般而言,一个完整的红包雨系统主要…

CDC和DSG等复制软件的原理,表存在主键才能复制的原因?

CDC和DSG复制的原理是把页改动的Log转换成逻辑日志去目标端重做。比如源端一条sql update完全一样的两行数据,那CDC会把两行的改动转换成两个update sql&#xff0c;第一条sql执行完就把两行数据都更新了&#xff0c;那么第二条再去执行就会报错找不到该行。所以复制软件要求必…

【MySQL】初见数据库

目录 什么是MySQL 为什么要使用数据库 数据库基础 数据库的本质 存储引擎 常用操作 登录mysql 创建数据库 使用数据库 查看数据库 创建数据库表 查看表 向表中插入数据 查询表中数据 什么是MySQL &#x1f352;在我们服务器安装完 MySQL 服务之后&#xff0c;经…

【C语言】初阶测试 (带讲解)

目录 ① 选择题 1. 下列程序执行后&#xff0c;输出的结果为( ) 2. 以下程序的输出结果是&#xff1f; 3. 下面的代码段中&#xff0c;执行之后 i 和 j 的值是什么&#xff08;&#xff09; 4. 以下程序的k最终值是&#xff1a; 5. 以下程序的最终的输出结果为&#xff…