VS2015 C++创建并使用动态链接库(dll)

VS2015 C++创建并使用动态链接库(dll)

前言

学习的时候要求做一个dll,结果网上的都是高版本的vs,而且直接就有创建动态链接库的选项,而VS2015并没有创建动态链接库的选项,自己在创建动态链接库的时候使用了MFC的动态链接库结果用不了,然后查了好多才知道VS2015是用控制台创建dll的,而且MFC也可以调用。
在这里稍微写一个避免自己之后忘记怎么做。

1. 创建Win32控制台应用程序

创建动态链接库第一步是最为重要的。
首先在Visual C++中找到【Win32控制台应用程序】。
在这里插入图片描述

接下来会弹出配置窗体,在这个配置窗体必须选择合适的才可以,否则创建的dll文件无法被其他程序调用。
在这里插入图片描述

然后就会自动生成以下的文档。
在这里插入图片描述

在里面按格式编辑就好了。编辑好后运行。

2. 调用生成的dll文档

在生成成功后,把头文件(.h文件)、生成的动态库文件(.dll文件)和生成的静态库文件(.lib文件)拿出来。

2.1头文件处理(h文件)

将头文件放到一个专门放头文件的文件夹中,将这个文件夹路径作为【附加包含目录】添加到要调用的工程的【属性-C+±附加包含目录】。

在这里插入图片描述

动态链接库文件处理(dll文件)

将动态库复制一份移动到工程文件目录下。

静态链接库文件处理(lib文件)

将静态库文件放到一个专门放静态库的文件夹中,将这个文件夹路径作为【附加库目录】添加到要调用的工程的【属性-链接器-附加库目录】。
在这里插入图片描述

然后将静态库文件的文件名连带后缀一起复制到【属性-链接器-输入-附加依赖项】中。
在这里插入图片描述

这就可以使用了。

3. 可能出现的问题和解决方法

warning LNK4272: 库计算机类型“x64”与目标计算机类型“X86”冲突

这个错误通常伴随着“无法解析的外部符号”出现。
这是库使用的x64类型,但是调用的时候是使用的是x86类型,修改调试器平台并重新进行第二章节的操作。
左上角有调试器的位数,如果这个和生成库的工程的位数不同,就不能运行并报错。调试器的组合一共有: debug-x86/debug-x64/release-x86/release-x64。如果不能运行的话,并且配置没有错误,那么优先检查是不是调试器没有设置好。
在这里插入图片描述

直接运行已生成的程序时提示:由于找不到XX.dll,无法继续执行代码。重新安装程序可能会解决此问题。

直接运行已生成的程序也需要dll文件支持,所以要把dll文件移动到和该程序相同路径。如果debug生成的程序无法在其他电脑上运行,可能是因为其他电脑没有相应环境,需要使用release版本生成的程序才可以。
在这里插入图片描述

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C++ 中,可以使用动态链接库DLL)的方式实现代码模块的重用。下面是一个简单的例子,演示如何在 Windows 系统中创建一个简单的动态链接库: 首先,创建一个新的 C++ 项目,并在该项目中添加一个新的源文件。 将以下代码粘贴到新的源文件中: ``` #include <iostream> #include "example.h" using namespace std; __declspec(dllexport) int add(int a, int b) { return a + b; } __declspec(dllexport) int subtract(int a, int b) { return a - b; } ``` 其中,`__declspec(dllexport)` 用于指定该函数是动态链接库中可导出的函数。 然后,创建一个名为 `example.h` 的头文件,并在其中声明 `add()` 和 `subtract()` 函数: ``` #pragma once __declspec(dllexport) int add(int a, int b); __declspec(dllexport) int subtract(int a, int b); ``` 保存并编译代码,然后生成 DLL 文件。在 Visual Studio 中,可以通过选择“生成”菜单中的“生成解决方案”选项来生成 DLL 文件。 最后,在另一个项目中使用DLL 文件。在该项目中,需要包含 `example.h` 头文件,并链接到 DLL 库。这可以通过在 Visual Studio 中的“属性” -> “链接器” -> “输入”选项卡中设置来完成。 现在,可以在另一个源文件中使用 `add()` 和 `subtract()` 函数: ``` #include <iostream> #include "example.h" using namespace std; int main() { int a = 10, b = 5; cout << "a + b = " << add(a, b) << endl; cout << "a - b = " << subtract(a, b) << endl; return 0; } ``` 编译并运行该代码,将会输出以下内容: ``` a + b = 15 a - b = 5 ``` 这就是使用 C++ 创建动态链接库的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酱油一只

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值