VS2022 添加 dll 库文件

2023-05-16

参考链接

Visual Studio中的C++程序如何使用第三方静态库和动态库? - 掘金

1,添加库文件路径

在 Visual Studio 2022 中,可以通过在项目属性页面中添加库文件的目录,让编译器知道需要链接的库文件的位置。具体步骤如下:

  • 打开项目属性页面:在“解决方案资源管理器”中右键单击要配置的项目,选择“属性”菜单项。

选择“VC++ 目录”选项卡:在“属性页”中选择“VC++ 目录”选项卡。添加包含目录:在“包含目录”中添加库文件的路径,包括 .h 文件所在的目录。

添加库目录:在“库目录”中添加库文件的路径,包括 .lib 文件所在的目录和 .dll 文件所在的目录。

 

添加库文件名

同样是在项目属性页面中添加库文件的名称,让编译器知道需要链接的库文件的名称。具体步骤如下:

  • 打开项目属性页面:在“解决方案资源管理器”中右键单击要配置的项目,选择“属性”菜单项。

  • 选择“链接器”选项卡:在“属性页”中选择“链接器”选项卡。

  • 需要注意的是,对于 .dll 文件,还需要将其复制到可执行文件所在的目录下。也就是需要拷贝库文件到生成exe程序的路径下

 

除了将 DLL 文件复制到可执行文件所在的目录下,还可以通过设置动态链接库的路径来指定 DLL 文件的位置。具体来说,可以通过以下方法之一来设置动态链接库的路径:

  1. 使用 SetDllDirectory 函数来设置 DLL 文件所在目录的路径。

    #include <Windows.h>
    
    int main() {
      SetDllDirectory(L"C:\\path\\to\\dlls");
      // ...
      return 0;
    }
    复制代码
  2. 在程序中使用 LoadLibrary 函数加载 DLL 文件时,指定 DLL 文件的完整路径。

    #include <Windows.h>
    
    int main() {
      HMODULE hDll = LoadLibrary(L"C:\\path\\to\\mydll.dll");
      if (hDll == NULL) {
        // 处理加载失败的情况
      }
      // ...
      FreeLibrary(hDll);
      return 0;
    }
    复制代码
  3. 在程序中使用 LoadLibraryEx 函数加载 DLL 文件时,指定 DLL 文件的路径以及一些其他的加载选项,如 LOAD_WITH_ALTERED_SEARCH_PATH。

    #include <Windows.h>
    
    int main() {
      HMODULE hDll = LoadLibraryEx(L"C:\\path\\to\\mydll.dll", NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
      if (hDll == NULL) {
        // 处理加载失败的情况
      }
      // ...
      FreeLibrary(hDll);
      return 0;
    }
    复制代码

这些方法可以避免将 DLL 文件复制到可执行文件所在的目录下,但也可能带来一些其他的问题,比如 DLL Hell,因此需要根据具体的情况进行选择。我们这里暂时就选择最简单的拷贝方式了。

作者:鲁班代师
链接:https://juejin.cn/post/7200297595474624573
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

VS2022 添加 dll 库文件 的相关文章

  • Sourcetree 更新git账号密码

    删除Sourcetree 缓存文件 只需要删密码文件 xff0c 文件位置 xff1a Mac xff1a Library Application Support SourceTree Windows xff1a C Users USERN
  • Vue.js仿一个购买火车票的app

    项目地址 预览的时候如果是用电脑预览的话请切换手机端预览地址源码地址 xff08 欢迎点赞 lt xffe3 xffe3 gt xff09 项目描述 主要技术 使用vue js实现单页应用使用vue Router处理路由使用vuex实现数据
  • k8s ingress获取真实IP地址配置

    背景 业务架构 xff1a Client gt WAF gt LB gt ECS gt 容器 问题 xff1a 在容器中获取不到真实的客户端公网IP 抓包分析 1 在ECS上的抓包分析 xff0c 看到WAF已经将 真实客户端地址放到了 x
  • 华为视频终端默认的Web页面用户名和密码是多少

    在将华为视频会议系统安装好之后我们需要进终端web管理页面设置 xff0c 但是很多朋友并不知道默认的用户名和密码是多少 xff0c 今天我们就来说说华为视频会议终端默认的web页面默认的用户名密码是多少吧 华为视频会议终端9030 800
  • 缺省vlan的简单介绍

    什么是缺省vlan xff1f 首先要理解什么是vlan xff1f 简单点说vlan就是可以把一个LAN划分成多个逻辑的LAN VLAN xff0c 每个VLAN是一个广播域VLAN内的主机间通信就和在一个LAN内一样 xff0c 而VL
  • 解决:The declared package does not match the expected package

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 这个问题让人挺头疼 xff0c 看网上答案很多 xff0c 但是这个比较靠谱 xff0c 原理也说清楚了 xff0c 并且已经解决了我的问题 xff1a Maven 61
  • IOS破解软件,比较全的网站。

    转载于 https blog 51cto com 14259888 2369621
  • 共享组件(有码):将文件中数据导入到DataTable

    08 11 29日更新 xff0c 增加了Xls和Xlsx文件导入支持 1 功能 xff1a 1 1 自由配置文件格式 xff1a 生成的DataTable的主键 文件内容中是否有表头 列分隔符 列是否可空 列中数据类型 String型可加
  • Sql Server 2008修改Sa密码

    1 用Windows验证模式进入数据库管理器 右键根目录 属性 左边的安全性 选择sql server 和windows 验证 xff08 SQL Server and Windows Authentication Mode xff09 2
  • 基于GmSSL实现server服务端和client客户端之间SSL通信代码(升级优化公开版)

    参考链接 工程搭建介绍 Ubuntu安装GmSSL库适用于ubuntu18和ubuntu20版本 MY CUP OF TEA的博客 CSDN博客CLion运行程序时添加命令行参数 即设置argv输入参数 MY CUP OF TEA的博客 C
  • I Think I Need a Houseboat(1005)

    include lt iostream gt include lt cmath gt include lt vector gt using namespace std void main double area 61 50 double R
  • CMake使用技巧集

    CMake使用技巧集 txt 1 注意CMake不允许出现相同的目标名称 xff0c 即使是不同的目录下的CMakeLists txt 2 将头文件搜索路径插入到其它的前面 xff1a include directories BEFORE
  • 了解lpk.dll是什么病毒以及lpk.dll病毒专杀方法

    pk dll病毒是当下比较流行的一类病毒 xff0c 而正常系统本身也会存在lpk dll文件 xff0c 这足以说明这类病毒的危险性 系统本身的lpk dll文件位于C WINDOWSsystem32和C WINDOWSsystem32d
  • Cognos定时Email发送报表数据功能

    1 进入 IBM Cognos Configuration Data Access Notification 2 设置如下 xff08 注意一定要是smtp服务 xff0c 端口25 xff0c 我这里是用了腾讯邮箱的smtp服务 xff0
  • 在PC上运行安卓(Android)应用程序的几个方法

    三种方法 xff1a 1 在PC安装一个安卓模拟器 xff0c 在模拟器里面运行apk xff1b 2 虚拟机安装 Android x86 然后在此系统里运行 xff1b 3 利用谷歌chrome浏览器运行 xff08 这是一个新颖 有前途
  • 公司局域网搭建

    局域网 Local Area Network xff0c 简称LAN xff0c 用于将有限范围内 xff08 例如一个实验室 一层办公楼或者校园 xff09 的各种计算机 终端与外部设备互联成网 公司局域网怎么建立 xff1f 首先来了解
  • 异常-----freemarker.core.ParseException: Unexpected end of file reached

    freemarker自定义标签 假如你现在还在为自己的技术担忧 xff0c 假如你现在想提升自己的工资 xff0c 假如你想在职场上获得更多的话语权 xff0c 假如你想顺利的度过35岁这个魔咒 xff0c 假如你想体验BAT的工作环境 x
  • 40岁程序员真的要被淘汰了么?

    我承认起这个标题有些标题党 这几天华为公司被热议 xff0c 据非正式小道消息 华为开始 清理 34岁以上员工 据威腾网消息 xff08 http digi 163 com 17 0216 15 CDDINLRL0016686Q html
  • 探讨下为什么设置了Cache-Control:no-cache 服务器还是返回304 Not Modified ?

    前言 今天做项目的时候遇到一个问题 xff0c 就是在ie11中 新增一条新的消息后页面刷新后 xff0c 并没有看到新增的消息 xff0c 于是打开控制台发现 304 Not Modified 加时间戳没用 于是赶紧联系后台大佬能不能把c
  • maven 全局排除jar包

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 大多数java应用源码构建和依赖管理是使用maven来实现的 xff0c 我们的应用系统也都是基于maven构建的 xff0c maven虽然在依赖管理方面确实很便捷 xf

随机推荐

  • Engine实现国密算法SM3的代码和逻辑图

    OpenSSL add all algorithms ERR load crypto strings ENGINE load dynamic ENGINE init Engine finish free ENGINE by id ENGIN
  • 安装VMware,出现没有虚拟网络适配器的问题

    遇到错误 xff1a 安装VMware Workstation Pro这个软件 xff0c 网络适配器中没有虚拟网卡 xff0c 导致无法上网 解决方法 xff1a 遇到这个问题 xff0c 我就第一时间就去网上搜索解决方法 xff0c 方
  • RabbitMQ和Kafka面试

    RabbitMQ xff1a 采用AMQP高级消息队列协议的一种消息队列技术 最大的特点就是消费并不需要确保提供方存在 实现了服务之间的高度解耦 当master queue 所在节点宕机后 xff0c 其正在被消费的消息的相关信息全部丢失
  • windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境

    windows下用eclipse 43 goclipse插件 43 gdb搭建go语言开发调试环境 http rongmayisheng com post windows E4 B8 8B E7 94 A8eclipsegoclipse E
  • Linux性能监测:磁盘IO篇

    Linux性能监测 xff1a 磁盘IO篇 计算机最慢的子系统 xff0c 也是最容易出现性能瓶颈的地方 xff0c 因为磁盘离 CPU 距离最远而且 CPU 访问磁盘要涉及到机械操作 xff0c 比如转轴 寻轨等 访问硬盘和访问内存之间的
  • 多媒体指令(图像灰度化)

    权当练手了 xff0c 效果不好 xff0c cpu没有提供pmulluw这样一个无符号字相乘指令 处理的效果和matlab明显不同 xff0c 尤其是背景 xff0c 我实在找不出问题在哪里 xff0c 最可能就在寄存器符号上 灰度公式是
  • jni 中的 extern "C" 分析

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 先看一段jni自动生成的源代码 code DO NOT EDIT THIS FILE it is machine generated include lt jni h gt
  • Engine实现国密算法SM4 ECB/CBC 模式的代码和逻辑图

    相应的 struct EVP sms4 cbc Encrypt Decrypt SKF SMS4实现 查看源文件 xff0c 暂不提供 执行测试
  • Java中的箭头——Lambda表达式

    转自 xff1a Java 8 Lambda 表达式 菜鸟教程 Lambda 表达式 xff0c 也可称为闭包 xff0c 它是推动 Java 8 发布的最重要新特性 Lambda 允许把函数作为一个方法的参数 xff08 函数作为参数传递
  • Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    如果要在Linux上做j2ee开发 xff0c 首先得搭建好j2ee的开发环境 xff0c 包括了jdk tomcat eclipse的安装 这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS 七 CentOS下j2ee环境
  • selenium.common.exceptions.WebDriverException: Message: "Can't load the profile.

    记录一下 xff0c Selenium在最新版本中修好了这个问题 运行CMD xff0c 然后输入 pip install U selenium
  • 网页跳转(APP内/浏览器)

    APP内网页跳转 xff1a xml lt WebView android layout below 61 span class hljs string 34 64 id lunbo 34 span android layout width
  • Intellij IDEA Resource Bundle

    Resource Bundle是什么 可以直接通过官方的描述来了解 https www jetbrains com hel Resource bundle is a set of properties files that have sam
  • H3C配置日志主机

    华三网络设备信息级别共有8级 xff0c 从高到底分别为emergencies alerts critical errors warnings notifications infomational debugging 信息级别数值描述eme
  • MIUI11系统怎么样刷入开发版获得Root超级权限

    小米的手机或平板不同手机型号一般情况下官网都提供两个不同的安卓系统版本 xff0c 可分为稳定版和开发版 xff0c 稳定版没有提供root权限管理 xff0c 开发版中就开启了root权限 xff0c 很多时候我们需要使用的一些功能强大的
  • 一起来看React(路由守卫)

    我们在很多时候都会接触到路由守卫 gt 无论是不是做 代码小子 的人 我们在浏览各网页时会看到头部的网址 如 xff1a 当我们在逛 xff1a 淘宝 天猫 京东 这一类的网站时我们自定义输入地址时 我们应该先登录 如果没登录我们应该跳转到
  • filezilla无法启动传输及严重文件传输错误

    filezilla无法启动传输 严重文件传输错误 文件夹权限不够 xff0c 修改之 你的空间或服务器已经满了 xff0c 请空下回收站或者扩容 文件正在被占用 xff0c 关闭后传输 转载于 https www cnblogs com w
  • 用KeyTool生成安全证书

    详细请见 xff1a Tomcat的帮助文档 xff0c xff1a https localhost 8080 tomcat docs ssl howto html 1 用keytool 生成证书 xff1a keytool genkey
  • Scheduling and emailing PeopleSoft Query results

    You could E Mail the Query results by embedding the paramters in a nVision Layout Create a Tabular nVision Layout Add th
  • VS2022 添加 dll 库文件

    参考链接 Visual Studio中的C 43 43 程序如何使用第三方静态库和动态库 xff1f 掘金 1 xff0c 添加库文件路径 在 Visual Studio 2022 中 xff0c 可以通过在项目属性页面中添加库文件的目录