如何用VS创建一个静态库
前言
如果对项目创建熟悉的话,这里的区别就是不写main函数、需要设置静态库属性,创建部分可以只看 设置静态库属性。
1. 创建
生成方式:这里,我们通过将空工程改静态库的方式创建一个静态库。
使用平台:Windows 环境下的 Visual Studio .
1.1 创建空项目
1.2 设置静态库属性
1.3 新建文件
新建文件的快捷键是 Ctrl + Shift + A
相同快捷键,创建一个头文件
1.4 写内容
Add.cpp
#include"Add.h"
int Add(int a, int b)
{
return a + b;
}
Add.h
#pragma once
int Add(int a, int b);
- 生成解决方案
快捷键是F7
,如果有些笔记本设置了功能键,可以Fn+F7
试一下。
这时一个.lib
静态库就创建好了。
2. 文件位置
如果知道自己创建项目的位置可以直接找过去。
如果忘记了,也可以通过如下方式找过去:
如果经历过以上生成解决方案
那一步,再项目的根目录下可以找到一个Debug文件
里面就是我们所需的.lib文件
3. 文件使用
那么这个.lib文件如何链接到使用它的项目中去呢?
我们这里新建一个项目,模拟一下.lib
文件的使用方法。
3.1 头文件包含
无疑,首先要引头文件,但之前创建好的Add.h文件不在当前目录下,必须通过一定的方式找到所在文件夹。
这里采用绝对路径的方式,也就是从当前文件出发,找到目标文件。
#include"…/…/Add_C_lib/Add_C_lib/Add.h"
这里../
符号表示返回上一层目录
也就是先跳到外面
再找Add.h文件
这时还不能直接运行,虽然包了头文件
,没了编译错误,但链接过程中还是找不到需要的.lib文件
,会报链接错误:
error LNK2019: 无法解析的外部符号 “int __cdecl Add(int,int)” (?Add@@YAHHH@Z),函数 _main 中引用了该符号
3.2 添加静态库
还是右键属性:
3.2.1 添加库目录
连接器–>常规–>附加库目录–>编辑
找到所需.lib文件的目录
3.2.2 添加依赖项
链接器–>输入–>添加依赖项
将所需添加的.lib文件填入其中,文件名之间用 ;
分割
此时,静态库就添加完成了,下次运行时,会在链接阶段将这个.lib文件也链接进来,就可以正常运行了。
feng_ye_0: 讲的真好,看明白了
光电小猴子: 讲的非常好
m0_73506811: 不加inline,函数可能成为内联函数吗
2401_83285323: 多谢大佬,总算明白了
weixin_40819805: VS2022下 调用函数前不在本文件声明 编译报错