1. 我用的是VS2019,打开首页,右上角选择“库”,在新页面选择“c++静态库”。点新建并定义地址和名称后,我们进来打开页面
2. c++会默认带有“framework.h”、"pch.h"、"pch.cpp"、"文件名.cpp",这些都没什么用,反正我删了是没什么影响
3. 新建一个"xx.h"、"xx.cpp",xx为自己定义的文件名;
4. 在xx.h文件里写函数声明,在xx.cpp里写实现,如下
//xx.h
#ifndef __XX__
#define __XX__
extern double square(double a);//extern关键字说明这是一个外部函数,这个函数不由自己实现,而是外部的库实现的,以便链接器进行链接
#endif
//xx.cpp
#include "xx.h"
double square(double a)
{
return a*a;
}
5. 点击编译,成功后在该文件的路径下找到“xx.h”和Debug目录下的"文件名.lib",然后分别复制
6. 新建一个项目,名字自拟。完成后将“xx.h”和"文件名.lib"文件拷贝到新项目路径
7. 编写
- 在"main.cpp"里,将“xx.h”包含进来;
- 添加如下代码,按照如下格式,将“Staticlib.lib”中的内容换成你的文件名.lib。
#pragma comment (lib,"StaticLib.lib")
- 编译
#include<iostream>
#include"square.h"//我自己编写的库
#pragma comment (lib,"StaticLib1.lib")//必须!不可缺少!
using namespace std;
int main()
{
double a=3;
double c;
c=square(a);
cout << c << endl;
return 0;
}
8. 结束!
PS:推荐可以读下这个博客,也不错
https://blog.csdn.net/u014359097/article/details/54880200
PS:补充:什么是静态链接库?
维基百科:在计算机科学里,静态库(英语:Static library, Statically-linked library),或称静态库,是一个外部函数与变量的集合体。静态库的文件内容,通常包含一堆程序员自定的变量与函数,其内容不像动态链接库那么复杂,在编译期间由编译器与连接器将它集成至应用程序内,并制作成目标文件以及可以独立运作的可执行文件。