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.点击项目中的生成,即可。
成功啦!!