欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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函数的项目即可解决。

本博客测试代码地址

相关标签: DLL