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.点击项目中的生成,即可。
在这里插入图片描述 成功啦!!