因为工作需求,要写lib和dll给别人使用。

使用visual studio2022

以函数

int getmyset()

{ return 0;}

为例子

首先

点击打开 visual studio 文件->新建->项目

选择windows桌面向导

选择应用程序类型为动态链接库.dll

分别创建MyDLL.h和MyDLL.cpp文件,点击添加 新建项

依葫芦画瓢,在源文件里创建MyDLL.cpp

Mydll.h的代码如下

#pragma once

#ifdef MYDLL_EXPORTS

#define MYDLL_API __declspec(dllexport)

#else

#define MYDLL_API __declspec(dllimport)

#endif

extern "C" MYDLL_API int getmyset();

MyDll.cpp的代码如下

#include "MyDLL.h"

int getmyset() {

return 0;

}

点击生成解决方案

如果一切正常的话,会显示生成正常,并且显示出生成的dll和lib所在文件夹

打开文件夹地址,下面就是生成的lib和dll文件

下一步,怎么使用生成的dll和lib

首先新创建一个项目

选择创建

创建新项目如下

头文件点击添加

选择添加刚才的头文件.h

再然后

配置项目

在新项目中,右键点击项目,选择“属性”。

配置VC++目录:

包含目录:添加DLL头文件所在路径。

库目录:添加.lib文件所在路径。

在链接器设置中,添加.lib文件:

链接器 -> 输入 -> 附加依赖项:添加Project3.lib。

在项目中调用 getmyset()函数

注意,如果MyDLL.h泛红 提示无法打开.h文件

配置导入头文件包含目录,点击项目->属性

包含目录里加上 头文件的地址

在点击调试->环境里加上 dll所在的文件路径

我的dll文件是在C:\Users\31922\source\repos\Project3\Project3\x64\Debug中,所以填入

PATH=$(PATH);C:\Users\31922\source\repos\Project3\Project3\x64\Debug

点击开始调试

结果如下

成功运行getmyset()函数