VS2017动态链接库(.dll)的生成与使用

最近项目需要生成dll,这里介绍我生成和调用dll的流程。环境是vs2017

一,dll的生成

  1. C++代码是在普通环境下开发调试的(文件->新建->项目->空项目)一定要注意平台是x86还是x64!!

  2. 把正确的代码放到生成可以生成dll的环境中(文件->新建->项目->Visual C++的控制台应用)
    在这里插入图片描述其实这里我也采用过 文件->新建->项目->Visual C+±>Windows 桌面 -> 动态链接库(DLL) 生成解决方案的时候遇到了找不到头文件的问题,感觉比较麻烦,所以还是采用控制台应用修改为dll的方式

  3. 新建 添加头文件和源文件的代码

在这里插入图片描述
定义动态链接库的接口,接口的头文件和源代码文件需要以下操作
在这里插入图片描述
此处参考https://zhuanlan.zhihu.com/p/651022331

  1. 右键解决方案->属性->配置属性->常规->配置类型 选择动态库(.dll)

在这里插入图片描述
这里需要注意红框位置平台要选择正确和代码的运行平台要一致~
在这里插入图片描述

  1. 生成->重新生成解决方案

在这里插入图片描述
下面提示 ”成功:1个“…则代表dll已经成功生成了
在这里插入图片描述
检查debug文件夹下是否有.dll和.lib文件生成
在这里插入图片描述

二,调用dll

  1. 新建项目(文件->新建->项目->Visual C++的控制台应用)一定要注意平台是x86还是x64,和前面保持一致!!

  2. 将步骤一生成的.dll .lib和头文件放到新建项目的如图文件夹
    在这里插入图片描述

  3. 添加一个源文件调用主函数,注意要include头文件
    在这里插入图片描述

  4. 绑定头文件(头文件->添加->现有项)
    在这里插入图片描述

  5. 添加.lib到资源文件
    在这里插入图片描述

  6. 生成->重新生成解决方案
    在这里插入图片描述
    运行结果如下
    在这里插入图片描述

  7. 点绿色三角执行
    在这里插入图片描述

执行窗口如下
在这里插入图片描述

三,中间遇到的问题

生成dll解决方案的时候报错

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2019 无法解析的外部符号 "void __cdecl AddAnAdd(int,int (__cdecl*)(int,int))" (?AddAnAdd@@YAXHP6AHHH@Z@Z),该符号在函数 _main 中被引用 DLLTest D:\vs\DLLTest\DLLTest\test.obj 1

解决办法:
后来新创建了一个空项目,然后再创建cpp文件和h文件,再敲代码,然后操作:解决方案资源管理器->(右键点击)AlexDll->属性->配置属性->常规->配置类型:动态库(.dll),再重新生成解决方案就成功了。

最后验证dll的时候,生成解决方案再点击下面的绿色三角就可以正常运行了,而且在主函数加入了下面代码可以暂停窗口

system("pause");

在这里插入图片描述
报错
在这里插入图片描述
解决方法
在这里插入图片描述
报错
在这里插入图片描述
解决方法
注意release和debug模式下的opencv依赖库不同,参考(https://blog.csdn.net/weixin_42450976/article/details/125749045
在这里插入图片描述

参考网址:https://blog.csdn.net/m0_37170593/article/details/76445972

  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在VS2017中编译libexosip2,可以按照以下步骤进行操作: 1. 首先,在libexosip2的官方源代码(如GitHub)上下载最新版本的源代码。 2. 打开Visual Studio 2017,并选择"新建项目"。 3. 在"新建项目"窗口的左侧面板中,选择"Visual C++"类别,并选择"空项目"作为项目模板。 4. 指定项目的名称和位置,然后点击"确定"按钮。 5. 在"解决方案资源管理器"窗口中,右键点击项目名称,选择"属性"选项。 6. 在"属性"窗口中,依次选择"配置属性","常规","字符集",并选择"使用多字节字符集"。 7. 返回"属性"窗口,选择"VC++目录",并在"包含目录"一栏中添加libexosip2源代码的路径。 8. 继续在"属性"窗口中,选择"C/C++",在"常规"一栏中,找到"附加包含目录",并添加libexosip2的头文件路径。 9. 着,选择"链器",在"常规"一栏中,找到"附加目录",并添加libexosip2的文件路径。 10. 在"链器"下的"输入"一栏中,找到"附加依赖项",并添加libexosip2的文件。 11. 点击"应用"按钮后,关闭"属性"窗口。 12. 在"解决方案资源管理器"窗口中,右键点击"源文件"文件夹,选择"添加",然后选择"现有项"。 13. 导航至libexosip2的源代码目录,选中所有的.c和.cpp文件,点击"添加"按钮。 14. 确保所有的源文件都在项目中正确地包含并链。 15. 最后,点击"生成"按钮进行编译。 完成上述步骤后,VS2017将会编译libexosip2,并生成所需的二进制文件,如DLL或静态
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值