VS2019环境下C++配置环境/创建动态链接库

2023-11-04


前言

最近有一个收尾的项目分到了手里,由于基本没有使用过VS2019所以在这个过程中也踩了很多坑,写出来希望其他人能少走弯路


一、配置环境

0.准备

这里先默认大家已经创建了一个空项目。在VS上方找到视图-其他窗口-属性管理器,点击一下该窗口就会出现在你的工程里类似于这样:
:Alt
然后我们以opencv举例,对于所有常用的包都包含两个版本,即release和debug,这两种版本对应着你运行代码时选择的情况:在这里插入图片描述
如果你这个位置选择的是debug,那你接下来配置环境就要用debug包里的东西,如果你是release,就要用release包的东西,绝对不能混用,这关系到后边生成两种版本的动态链接库能否成功

1.添加项目表

右击你要运行的环境,选择添加新项目表,为了方便两种情况下的区分,名称最好改一下,release的项目可以就叫release。

在这里插入图片描述
在这里插入图片描述
点击添加,可以看到我们的releasex64下面出现了一个新的项目表。

在这里插入图片描述

2.include文件与lib文件的配置

include文件设置

双击上一步新建的项目表,会弹出下图这个窗口

在这里插入图片描述

看上去很复杂,不过对于配置一个库来说我们需要设置的只有两部分,第一步点击 VC++目录 ,然后将要配置的库中include文件夹的路径添加到 包含目录 中。包含目录其实就是include的翻译。如图

在这里插入图片描述

点击表格末端的箭头,点击编辑,然后点击最上方的新建行,输入要配置的include文件夹路径。

在这里插入图片描述

lib文件配置

第二步对这里的库目录,进行相似的操作,这次输入的路径为要配置的环境中的lib文件夹路径

在这里插入图片描述
这里不同包的lib位置不一样大家找一下就好,像这里的opencv460不在主目录中,有些包会直接放到主目录中。
然后我们要去到 链接器-输入-附加依赖项

在这里插入图片描述

同样也是点击末端的箭头,然后点击这个编辑,将我们要配置的库文件中的所有.lib文件添加进来,虽然我们实际编程时不会用到这么多,但如果你不知道你需要用哪个,我还是建议全部添加进来,这步会比较麻烦,如果你有的包比较多的话要打字很长时间,我们这里使用的opencv只有一个高度集成的lib,所以比较容易添加。

在这里插入图片描述

到这里我们点击确定,opencv的环境就配好了。
注意,所有的包都可以按照类似的方法配置成功,其他的任何参数都与配环境无关。

重要提示
此处配置的是release版本,如果要使用debug版本,对应的include与lib包括最后的链接器添加的lib都要改成debug版本文件夹下的对应路径或文件名,也就是在debug文件夹下重复一遍以上的步骤

二、使用已有代码生成动态链接库

动态链接库生成的时候我是按照这篇文章来的,这位博主讲的很仔细,大家可以看一下。

c++生成DLL文件(visual studio 2019)面向小白萌新

生成后的调用部分不建议大家按照这位博主的来,生成的文件中有用的只有 .dll文件 .lib文件pch.h文件,可以将这三个文件放在要调用的工程的目录下,按照配环境的方式加载自己生成的动态链接库。下边这篇文章讲的很仔细:

VS2019编译生成动态链接库dll的两种方式

文章中的第三步就是调用方法,很靠谱。

如果文章有什么错误,或者大家有什么没理解的地方欢迎交流

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VS2019环境下C++配置环境/创建动态链接库 的相关文章

  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 如何从Windows阻止社交媒体[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我想根据时间阻止我的电脑上的社交媒体 晚上 9 点后屏蔽 上午 11 点后解锁 如家长控制 我尝试过关注但失败了 创建了
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • webservice的接口测试工具

    一 webservice介绍 webservice是一个跨语言跨平台的技术 使用webservice进行接口测试时不需要知道每一种语言和操作系统 webservice工作原理 webservice主要核心技术 HTTP 使用http来传输数
  • 解决java或jsp中的For input string的错误

    目录 问题 解决方案 方案一 方案二 方案三 备注 问题 我们在做接jsp开发时 不论是在jsp页面 还是在controller中 都会遇到这样的错误 For input String错误 为什么会出现这样的错误呢 当时 我在init中从数
  • beamer笔记——幻灯片比例改为16:9

    beamer进阶学习 幻灯片比例改为16 9 将幻灯片比例改为16 9 documentclass aspectratio 169 beamer 幻灯片包括的比例主要有 16 10 14 9 1 41 1 5 4 4 3 default 3
  • 【CTF】Python原型链污染

    Python原型链污染 原型链 在Python中每个对象都有一个原型 原型上定义了对象可以访问的属性和方法 当对象访问属性或方法时 会先在自身查找 如果找不到就会去原型链上的上级对象中查找 原型链污染攻击的思路是通过修改对象原型链中的属性
  • Java,微信群

    一起进行Java的知识传递与分享 快来加入吧 有问题可加个人微信 Ysrbj18 备注Java交流 拉你入群 可扫码加我
  • muduo库学习-日志模块的学习以及C++日志模块封装

    前言 开发一款软件 一个好的日志库肯定是必不可少的 c 作为一门这么古老的开发语言 按理说应该有一些好用的日志库 但是在网上找到的那些日志库感觉用起来都不是很得心应手 因此就自己动手写了一个日志库 源码放在github上 我自己写的这个日志
  • Channel On Live(离散化)

    题目网址 https acm ecnu edu cn contest 103 problem C 离散化 1 unique函数 c unique t 1 t 1 n t 1 此为去重函数 12335去重后为12355 即去掉重复的 后面的不
  • R7-9 统计Java程序中关键词的出现次数

    编写程序统计一个输入的Java源码中关键字 区分大小写 出现的次数 说明如下 Java中共有53个关键字 自行百度 从键盘输入一段源码 统计这段源码中出现的关键字的数量 注释中出现的关键字不用统计 字符串中出现的关键字不用统计 统计出的关键
  • [Python+Django]Web图书管理系统毕业设计之数据库及系统实现源码篇

    前排提醒 本文干货超多 为避免消化不良建议配合目录食用 本系列博文献给即将毕业的程序猿们 系列文章共三篇 在编写的过程中可以说几乎是参照毕业设计目录样式来进行的 相关图表和截图也都几乎按照毕业设计论文的要求来编制 完整阅读消化此系列博文套上
  • 人眼定位python代码_使用dlib,OpenCV和Python进行人脸识别—人眼眨眼检测

    前期文章我们分享了如何使用python与dlib来进行人脸识别 以及来进行人脸部分的识别 如下图 dlib人脸数据把人脸分成了68个数据点 从图片可以看出 人脸识别主要是识别 人眉 人眼 人鼻 人嘴以及人脸下颚边框 每个人脸的部位都有不同的
  • 百度营销:百度扩量投放技巧

    众所周知百度是国内大部分用户都在使用的搜索引擎 百度搜索投放的是关键词形式 今天将带来一些账户优化的建议 放量模式 共享预算有哪些投放细节呢 以下梳理了5个小技巧 1 适合的账户类型 更适合预算充足的广告主 如果当前 你每天的获客量远远满足
  • layui之ajax--回调函数

    问题 一个简单的AJAX提交表单操作 经常发生后台数据保存好了 前端layer弹出层没有关闭 父页面没有刷新 定位发现是回调函数没有执行 用Google Chrome浏览器这种现象较少 而Safari 和 firefox浏览器100 发生
  • 2021-02-09 链表复制

    给你一个长度为 n 的链表 每个节点包含一个额外增加的随机指针 random 该指针可以指向链表中的任何节点或空节点 构造这个链表的 深拷贝 深拷贝应该正好由 n 个 全新 节点组成 其中每个新节点的值都设为其对应的原节点的值 新节点的 n
  • mysql查看数据库状态

    很赞的文章 https codeplayer vip p j7sc4 官方教程是最应该查看的文档 https dev mysql com doc refman 5 5 en show html 我真正关心的数据 比如一秒钟到底能插入多少行数
  • Package javax.ws.rs

    http docs oracle com javaee 6 api javax ws rs package summary html Annotation Types Summary ApplicationPath Identifies t
  • 新路程------imx6的模块编译的Makefile

    KERNEL SOURCE opt IMX6 linux 3 0 35 obj m ldb o default make C KERNEL SOURCE M PWD modules arm hismall linux gcc pcf8563
  • python numpy从坐标序列中计算累计移动距离

    也是从其他程序中学习得到计算距离 position 通过list来存储坐标xy position append x y position np array position 转换成数组 dist arr np concatenate np
  • 基于docker一行命令搭建个人博客wordPress

    前言 作为对技术热爱的一群小伙伴们 技术分享开源社区的贡献都是我们技术人引以为傲的一件事情 不仅如此 技术分享或者记录也是对自己职业成长的记录 更甚者 如果你的技术分享深度不错 并且帮助到别人那么在面试中也是又很大帮助的 今天就给大家谈一下
  • 两条轨迹相似度算法,轨迹相似性度量

    百度地图 百度地图是百度提供的一项网络地图搜索服务 覆盖了国内近400个城市 数千个区县 在百度地图里 用户可以查询街道 商场 楼盘的地理位置 也可以找到离您最近的所有餐馆 学校 银行 公园等等 2010年8月26日 在使用百度地图服务时
  • VS2019环境下C++配置环境/创建动态链接库

    文章目录 前言 一 配置环境 0 准备 1 添加项目表 2 include文件与lib文件的配置 include文件设置 lib文件配置 二 使用已有代码生成动态链接库 前言 最近有一个收尾的项目分到了手里 由于基本没有使用过VS2019所