首先创建DLL项目并编写带__declspec(dllexport)导出的函数,接着配置项目属性确保生成LIB文件,最后通过头文件、LIB和DLL实现外部调用。

在C++开发中,打包生成DLL(动态链接库)和对应的LIB(导入库)文件是实现代码复用和模块化的重要方式。下面介绍如何使用Visual Studio创建DLL项目并生成DLL与LIB文件。
1. 创建DLL项目
打开Visual Studio,选择“创建新项目”,然后选择“动态链接库(DLL)”模板(通常为“Empty Project”或“Dynamic-Link Library (DLL)”)。设置项目名称和路径后点击创建。
如果选择了空项目,需手动添加源文件(如.cpp和.h文件)。
2. 编写导出函数或类
要让函数或类在DLL外部可用,必须明确“导出”。可通过__declspec(dllexport)实现。
立即学习“C++免费学习笔记(深入)”;
示例代码:
// MathFuncs.h #ifdef MATHFUNCS_EXPORTS #define MATHFUNCS_API __declspec(dllexport) #else #define MATHFUNCS_API __declspec(dllimport) #endifextern "C" MATHFUNCS_API int Add(int a, int b);
// MathFuncs.cpp #include "MathFuncs.h"int Add(int a, int b) { return a + b; }
说明:
- 使用宏区分导出和导入。
- extern "C" 可防止C++命名修饰,便于外部调用(尤其是C语言环境)。
- 编译时,在项目属性中定义预处理器宏MATHFUNCS_EXPORTS,确保正确导出。
3. 配置项目生成LIB文件
默认情况下,Visual Studio在生成DLL的同时会自动生成对应的LIB文件(导入库),无需额外配置。
检查项目属性:
- 右键项目 → “属性”
- 进入“链接器” → “常规” → 确认“输出文件”路径
- 进入“链接器” → “输入” → 可指定附加依赖项
- 生成后,在Debug或Release目录下可找到.dll和.lib文件
4. 使用.def文件导出(可选)
也可通过模块定义文件(.def)来导出函数,避免使用__declspec(dllexport)。
创建MathFuncs.def:
LIBRARY MathFuncs
EXPORTS
Add
将.def文件添加到项目中,编译器会根据它生成导出表。
5. 调用生成的DLL/LIB
在其他项目中使用该DLL时:
- 包含头文件(.h)
- 将.lib文件加入“附加依赖项”(项目属性 → 链接器 → 输入 → 附加依赖项)
- 把.dll文件放在可执行文件同目录下,或系统能搜索到的路径
基本上就这些。只要正确设置导出符号,Visual Studio会自动处理DLL和LIB的生成。关键是理解导出机制和项目配置。不复杂但容易忽略细节。











