VS2017下dll和lib的使用

前言

最近开始认真掌握VS的各种操作,自然而然避不开dll和lib的使用,自己逛了逛CSDN和博客园,看了很多博客,但是并不是很让我满意,一方面是大多不符合我的环境(VS2017 Community),另一方面是太他妈复杂了,什么建成后又各种添加什么的,实在记不熟,所以以下是我的操作。 说明如下: 环境:VS2017 Community 操作:同一个结局解决方案下一个exe项目,一个dll项目,一个lib项目,实现exe项目直接对lib和dll的调用。 顺序:

1,创建一个解决方案。

VS2017下dll和lib的使用
(1.5,改个名:强迫症,可略过……)
VS2017下dll和lib的使用

2,在这个解决方案下添加dll和lib(右键解决方案)

VS2017下dll和lib的使用
VS2017下dll和lib的使用

3,创建lib函数

3.1 lib项目添加lib_test.h文件
VS2017下dll和lib的使用
3.2 lib项目添加lib_test.cpp文件
VS2017下dll和lib的使用
3.3 编译生成。

ps:为什么一定要加#include“stdafx.h",这是没办法的,VS2017新建工程后,会默认把这个当做预编译头,讲真,用惯了codeblock的我一开始还真的不适应,有没有办法不用这个呢?右键项目属性
VS2017下dll和lib的使用
设置为不使用预编译头以及删掉那个stdafx.h,之后再编译生成的时候就不会再报这类没有包含预编译头的错误了(dll项目同理)。

3.4 在exe项目中测试lib是否成功可用:

3.41 添加exe_lib_dll.cpp
VS2017下dll和lib的使用
自动生成这么个东西:
VS2017下dll和lib的使用
3.42 在exe的引用中添加lib项目: 右键,记笔记,这一步很重要哈,要不然根本调用不到add
VS2017下dll和lib的使用
VS2017下dll和lib的使用
3.43 修改一下exe_lib_dll.cpp

添加lib中包含add的声明的头文件
VS2017下dll和lib的使用
调用测试函数add
VS2017下dll和lib的使用
生成解决方案(注意啊兄弟们,是生成整个解决方案,当然,你按照依赖顺序一个一个生成项目也行)执行,通过。
VS2017下dll和lib的使用

4,创建dll函数

稍微复杂了一点点,其实也就是头文件特殊了点。

4.1 先查看一下dll的项目属性:
VS2017下dll和lib的使用
发现有一个DLL_EXPORTS的宏,可能你的名字跟我的名字不太一样啊,这个有什么用呢,下面说:
4.2 dll项目中新建dll_test.h
VS2017下dll和lib的使用
ps:看代码注释,要是你的宏跟我的DLL_EXPORTS不一样记得要改一下哈
新建一个dll_test.cpp实现sub函数:
VS2017下dll和lib的使用
最后生成即可。

4.3 接下来我们回到exe项目来测试调用一下sub函数:

4.31 同lib,在*exe的引用中添加lib项目

4.32 在exe项目中的exe_lib_dll.cpp中添加包含sub声明的头文件一件写测试例子。
VS2017下dll和lib的使用
4.33 亲测成功:
VS2017下dll和lib的使用
完结撒花。
可能遇到的问题:很多是没有对整个解决方案进行生成的,如果只是生成了exe项目,而lib项目和dl项目没有生成,就有可能出错。不得不说,VS这个IDE对新手真的很不友好,毕竟是专业级的。