C++项目调用动态库dll函数

1.前言

关于这个问题网上有很多答案,主要分为静态调用和动态调用两种方法,我这里主要讲的是一般在实际开发中调用dll动态库的方法。在日常开发中,实际上只要配置好项目属性,程序运行时系统会自动加载项目所引用的dll文件,程序员是无需关心如何加载的。

2.属性配置

在VS中创建好C++项目后,右键项目名称选择属性进入属性页进行如下配置:

  • 第一步:C/C++ - 常规 - 附加包含目录 :这里增加需要包含的外部头文件路径
  • 第二步:链接器 - 常规 - 附加库目录:这里增加引用的静态库路径
  • 第三步:链接器 - 输入 - 附加依赖项:这里增加隐隐的静态库名称
  • 第四步:引用的动态库路径:
    第一种: 直接将dll文件拷贝到exe所在目录下
    第二种: 配置属性->调试->环境:输入path=包含dll文件的文件夹路径
    第三种: 配置属性->调试->工作目录:包含dll文件的文件夹路径

3.具体操作

3.1 打开VS

这里我用的是VS2022
在这里插入图片描述
在这里插入图片描述

3.2 创建动态库

step1:点击创建新项目;
在这里插入图片描述

step2:输入C++,下面选择动态链接库dll,点击下一步;
在这里插入图片描述

step3:输入项目名称,选择项目位置,第3步打钩则解决方案.sln和项目文件.vcxproj在同一目录下,否则.sln在下一级目录,这个自己试一下就知道了,最后点创建;
在这里插入图片描述

step4:在项目上写入需要调用的函数
1> 添加头文件
右键头文件增加.h文件,点击添加->新建项,输入头文件名称,点击添加,并添加如下代码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2> 添加cpp文件
同理右键源文件增加.cpp文件,点击添加->新建项,输入源文件名称,点击添加,并添加如下代码:
在这里插入图片描述
在这里插入图片描述

3> 右键项目重新生成动态库文件
在这里插入图片描述

3.3 创建主项目

step1:点击左上角文件创建新项目,选择空项目,点击下一步;
在这里插入图片描述
在这里插入图片描述

step2:输入项目名称,选择位置,点创建;
在这里插入图片描述

3.4 主项目属性配置

1> 配置项目依赖的头文件路径

第一步:右键项目找到属性,弹出如下属性页,找到编辑入口;
在这里插入图片描述

第二步:双击第一行,此时是空的,点右边三点按钮,弹出选择文件夹对话框,选择myfunction.h所在目录,点击确定;
在这里插入图片描述

2> 配置项目依赖的静态库目录

第一步:项目属性页,如下找到编辑入口;
在这里插入图片描述

第二步:双击第一行,此时是空的,点右边三点按钮,弹出选择文件夹对话框,选择dllUsedToReference.lib所在目录,点击确定;
在这里插入图片描述

3> 配置项目依赖的静态库

第一步:找到编辑入口;
在这里插入图片描述

第二步:点击第一行,此时是空的,输入静态库名称,点击确定;
在这里插入图片描述

第三步:回到属性配置主界面,应用、确认
在这里插入图片描述

4> 配置项目依赖的动态库路径

这一步至关重要!!!,通常有以下三种方法:
第一种:直接将项目依赖的动态库dll文件拷贝到可执行文件exe所在目录下:
在这里插入图片描述

第二种:配置属性->调试->环境:输入path=包含dll文件的文件夹路径
右键主项目找到属性,弹出属性页,按照如下步骤找到编辑点击进入;
在这里插入图片描述

在第一行输入依赖动态库的路径,注意没有空格!!!
在这里插入图片描述

第三种方法: 配置属性->调试->工作目录:包含dll文件的文件夹路径
在这里插入图片描述
在这里插入图片描述

3.5 主项目测试代码

1> 添加头文件
在这里插入图片描述

2> 添加cpp文件
在这里插入图片描述
在这里插入图片描述

3.6 主项目生成调试

1> 生成代码
右键项目名称重新生成可执行程序,生成如下文件:
在这里插入图片描述

2> 调试代码
点击本地调试或F5启动调试,提前打好断点逐步调试,就能看到断点会进入引用dll函数中:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值