基本概念
静态链接库就是你使用的.lib文件,库中的代码最后需要连接到你的可执行文件中去,所以静态连接的可执行文件一般比较大一些。格式如:#pragma comment(lib,“XXX.lib”)
创建过程
由于用空项目直接创建静态链接库会出现LNK2019之类的连接器报错,我也懒得去一个一个修改属性,所以直接用vs2019的静态库项目进行创建
而编译器自动生成的静态链接库项目的文件有点多,我们暂时不需要,所以直接全部删掉,自己创建一个.cpp和.h文件
还得在 项目 / 属性 / C/C++ / 预编译头 里面把预编译头的选项设置为“不使用预编译头”
否则会出现以下报错
然后生成项目
再新建一个空项目,用来调用静态链接库
将刚刚生成的静态链接库项目中的.lib文件拷贝到该空项目源程序所在的同一级目录下
源程序的代码如下:
#include<stdio.h>
#include "MyStaticLib.h"
int main()
{
printf("%d\n", Sub(40, 15));
return 0;
}
两种调用方法,上图中将需要调用的静态链接库的.h文件也拷贝过来,就可以直接include该.h文件实现调用;若没有对.h文件进行拷贝,就不能直接使用静态链接库中的函数,而需要对其进行函数声明,如下图:
#include<stdio.h>
int Sub(int x, int y);
int main()
{
printf("%d\n", Sub(40, 15));
return 0;
}
还需要对该.lib文件进行资源文件的添加
资源文件 / 现有项 / XXX.lib / 添加
然后就可以实现静态链接库的调用了,运行验证:
搞定收工~