VS2017 创建动态链接库并使用

下面我们直接步入正题。
1.首先在VS2017中新建Dll项目。
在这里插入图片描述

2.组织你的项目工程目录如下:
在这里插入图片描述
3.其中,MyDll.h文件中的代码为:

#pragma once

#ifdef MY_DLL_EXPORTS
#   define MY_DLL_EXP __declspec(dllexport)
#else
#   define MY_DLL_EXP __declspec(dllimport)
#endif

class MY_DLL_EXP HelloDll {
public:
	void hello();
};

解释一下:我们想要导出一个类来供客户端程序使用,那么需要在提供给客户端程序使用的类的头文件中 class 和类名之间加上 __declspec(dllimport),而在我们编译这个 DLL 项目的时候,则需要使用 __declspec(dllexport)。

MyDll.cpp文件中的代码如下:

#include "stdafx.h"

#include<iostream>
#include"MyDll.h"

void HelloDll::hello()
{
	std::cout << "Hello,this is my dll ^_^"<<std::endl;
}

4.在菜单栏中的“生成”中点击“重新生成代码”。
在这里插入图片描述
5.下面查看自己的.lib文件有没有成功生成。在项目的保存目录下,查看如果为下图的状态,即为生成成功。
在这里插入图片描述
6.下面就是编写使用dll的测试项目了。由于只需要运行一个main函数,所以只需创建win32控制台应用程序即可。创建成功后,整理目录如下:
在这里插入图片描述
TestMyDll.cpp文件中的代码如下:

#include "MyDll.h"

int main()
{
	HelloDll helloDll;
	helloDll.hello();
	system("pause");
	return 0;
}

注意此处!!!将第5步重生成的.lib文件添加到资源文件中。
7.将生成的dll文件和lib文件放置测试项目目录下,如图:
在这里插入图片描述
8.点击项目中的生成,即可。
在这里插入图片描述
成功啦!!

VS2017 中生成一个动态链接库,可以按照以下步骤进行: 1. 打开 Visual Studio 2017,并创建一个新的 Win32 项目。 2. 在 “Win32 Application Wizard” 对话框中,选择 “DLL” 项目类型,然后单击 “下一步”。 3. 在 “DLL” 对话框中,选择 “动态链接库 (DLL)” 选项,然后单击 “下一步”。 4. 在 “Application Settings” 对话框中,选择 “空项目” 选项,然后单击 “完成”。 5. 在 “Solution Explorer” 窗口中,右键单击 “Source Files” 文件夹,然后选择 “添加” -> “新建项”。 6. 在 “添加新项” 对话框中,选择 “C++ 文件 (.cpp)” 类型,然后输入文件名和位置,最后单击 “添加”。 7. 在 “Solution Explorer” 窗口中,右键单击 “头文件” 文件夹,然后选择 “添加” -> “新建项”。 8. 在 “添加新项” 对话框中,选择 “头文件 (.h)” 类型,然后输入文件名和位置,最后单击 “添加”。 9. 在 “Solution Explorer” 窗口中,右键单击 “DLLName.def” 文件,然后选择 “属性”。 10. 在 “属性页” 中,将 “Configuration” 设置为 “All Configurations”,将 “Platform” 设置为 “Win32”,然后选择 “Linker” -> “Input”。 11. 在 “附加依赖项” 中,单击 “编辑”,然后在弹出的对话框中输入 “LIBCMT.lib” 和 “OLDNAMES.lib”,之后单击 “确定”。 12. 在 “Solution Explorer” 窗口中,右键单击 “DLLName.cpp” 文件,然后选择 “属性”。 13. 在 “属性页” 中,将 “Configuration” 设置为 “All Configurations”,将 “Platform” 设置为 “Win32”,然后选择 “C/C++” -> “预处理器”。 14. 在 “预处理器定义” 中,添加宏 “DLL_EXPORTS”。 15. 在 “Solution Explorer” 窗口中,右键单击 “DLLName.h” 文件,然后选择 “属性”。 16. 在 “属性页” 中,将 “Configuration” 设置为 “All Configurations”,将 “Platform” 设置为 “Win32”,然后选择 “C/C++” -> “代码生成”。 17. 在 “运行库” 中,将 “多线程调试 (/MTd)” 和 “多线程 (/MT)” 设置为 “否”。 18. 最后,编译并生成你的动态链接库。 请注意,上述步骤仅适用于在 VS2017创建动态链接库的基本步骤,具体的实现可能因项目需求而异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值