VS2015(VS2013)生成动态库(lib文件和dll文件)
程序员文章站
2022-06-25 18:44:54
...
很多朋友想使用VS2015生成动态库(引入库lib文件和dll文件),但根据网上资料生成的却只有dll文件,没有lib文件,主要原因是没有按照指定格式去写代码,下面我写出一个通用的模板来简单阐述怎么生成lib文件和dll文件。当然,本博客的测试代码和工程将会提供下载链接,如果是认真读完本博客,一定会知道怎么做。如果是懒人或者是伸手党,请付出金钱或者CSDN金币代价去下载!
假设我们写一个.cpp
,里面有很多的功能,文件名字叫做tools.cpp
,具体实现如下:
#include "tools.h"
#include <iostream>
void PrintInfo()
{
std::cout << "DLL Export Test" << std::endl;
}
int Add(int a, int b)
{
return a + b;
}
int Sub(int a, int b)
{
return a - b;
}
接下来写头文件,即tools.h
,我们需要按照此格式来写,当然,也可以在.h
文件和.cpp
文件都写上同种语法声明,但是这种方法在实际项目中不常用。
#ifndef _TOOLS_H_
#define _TOOLS_H_
#if (defined WIN32 || defined _WIN32 || defined WINCE)
#define PROJ_EXPORTS __declspec(dllexport)
#else
#define PROJ_EXPORTS
#endif // (WIN32)
// 测试函数
PROJ_EXPORTS void PrintInfo();
PROJ_EXPORTS int Add(int a, int b);
PROJ_EXPORTS int Sub(int a, int b);
#endif // ! _TOOLS_H_
至于这种生成库的工程怎么建立,网上的这种教程就像大白菜一样多,不多赘述!
基本流程就是[添加新项目] –>[已安装]–>[Visual C++]–>[Win32]–>[Win32项目]–>写上项目名称–>应用程序类型设置为DLL,最多勾上一个空项目选项。接下来把代码放进去,然后生成即可。
生成lib和dll之后,需要考虑怎么使用lib文件和dll文件,那么需要编写一个测试去使用这个库。至于怎么配置项目属性,网上搜索这种怎么使用第三方库的教程也有很多,不多赘述,只讲解其他博客没有提到的部分。
我们在生成解决方案的时候,最好需要设置一个依赖项选项,即我们编写测试的项目需要依赖生成库文件的项目,这样会先生成那个生成lib文件的项目,后生成测试项目。另外,如果启动项为生成lib的那个工程,会报错,原因很简单,就是这个工程没有main函数,简单说就是没有入口,不能执行,当然不能启动,换个有main函数的项目即可解决。