使用Visual Studio生成dll 并在项目中使用dll

速发365网址 2025-07-07 04:24:53 admin 2110 812
使用Visual Studio生成dll 并在项目中使用dll

这篇文章我用到了两个项目,一个用来生成dll文件,一个则是使用dll文件

一、生成dll

1.创建项目

创建一个空项目,命名为TestDLL TestDLL中包含TestExport.h和TestExport.cpp

// TestExport.h

#pragma once

#ifdef TEST_EXPORTS

#define TEST_API __declspec(dllexport)

#else

#define TEST_API __declspec(dllimport)

#endif

extern "C" TEST_API int Add(int a, int b);

class TEST_API Student

{

public:

Student();

void Study();

};

// TestExport.cpp

#include

#include "TestExport.h"

TEST_API int Add(int a, int b)

{

return a+b;

}

Student::Student()

{

}

void Student::Study()

{

std::cout << "学生学习" << std::endl;

}

2.配置项目(TestDLL)

右键项目----属性 —常规——配置类型——动态库(.dll) —高级——目标文件扩展名——.dll —C/C++——预处理器——预处理器定义——添加TEST_EXPORTS (与前面定义的保持一致)

3.生成dll

将编译模式改为Release, 然后检查项目的配置 Ctrl+B生成 然后在Release目录下可以看到生成的TestDLL.dll和TestDLL.lib文件

二、使用dll

1.创建项目

创建一个空项目,命名为UseDLL,项目只有main.cpp一个文件

2.复制文件

在UseDLL.sln的目录中 创建include和lib文件夹

将TestDLL项目中的TestExport.h文件复制到include目录中 将生成的TestDLL.lib文件放到lib目录中

文件名和文件夹的位置并不是一定的 只要与后面配置的路径一致即可

3.配置项目(UseDLL)

右键项目----属性 C/C++ ——常规 —— 附加包含目录 ​—— 添加include目录的位置 链接器 ——常规 —— 附加库目录 —— 添加lib目录的位置 ​链接器 ——输入 ——附加依赖项​ —— 添加TestDLL.lib

4.编写函数

//main.cpp

#include

#include"TestExport.h"

using namespace std;

//这两句可以省略不写 因为TestExport.h里已经有了

//并且由于没有定义TEST_EXPORTS 所以TEST_API即为__declspec(dllimport)

//TEST_API int Add(int a, int b);

//TEST_API Student;

int main()

{

cout << Add(1, 2) << endl;

Student s1;

s1.Study();

system("pause");

return 0;

}

Ctrl+B生成 UseDll.exe

5.复制TestDLL.dll

将TestDLL.dll文件放在exe文件相同的文件夹中

6.执行程序

双击程序执行

相关推荐