如何用VS创建一个静态库

16 篇文章 28 订阅
订阅专栏
本文详细介绍了在Windows Visual Studio环境下,如何通过空项目转换为静态库,设置库属性,添加文件,定位lib文件,以及将其链接到其他项目的步骤。重点讲解了头文件包含和静态库依赖项的添加方法。
摘要由CSDN通过智能技术生成

前言

如果对项目创建熟悉的话,这里的区别就是不写main函数、需要设置静态库属性,创建部分可以只看 设置静态库属性。

1. 创建

生成方式:这里,我们通过将空工程改静态库的方式创建一个静态库。

使用平台:Windows 环境下的 Visual Studio .

1.1 创建空项目

空项目创建过程

1.2 设置静态库属性

设置静态库属性 image-20220506194944971

1.3 新建文件

新建文件的快捷键是 Ctrl + Shift + A

image-20220506195625054

相同快捷键,创建一个头文件

image-20220506195857616

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);
  1. 生成解决方案

快捷键是F7,如果有些笔记本设置了功能键,可以Fn+F7试一下。

这时一个.lib静态库就创建好了。

2. 文件位置

如果知道自己创建项目的位置可以直接找过去。

如果忘记了,也可以通过如下方式找过去:

image-20220506201505752

如果经历过以上生成解决方案那一步,再项目的根目录下可以找到一个Debug文件

image-20220506201904345

里面就是我们所需的.lib文件

image-20220506202030325

3. 文件使用

那么这个.lib文件如何链接到使用它的项目中去呢?

我们这里新建一个项目,模拟一下.lib文件的使用方法。

.lib测试

3.1 头文件包含

无疑,首先要引头文件,但之前创建好的Add.h文件不在当前目录下,必须通过一定的方式找到所在文件夹。

这里采用绝对路径的方式,也就是从当前文件出发,找到目标文件。

#include"…/…/Add_C_lib/Add_C_lib/Add.h"

这里../符号表示返回上一层目录

也就是先跳到外面

image-20220506204415105

再找Add.h文件

image-20220506204720229

这时还不能直接运行,虽然包了头文件,没了编译错误,但链接过程中还是找不到需要的.lib文件,会报链接错误:

error LNK2019: 无法解析的外部符号 “int __cdecl Add(int,int)” (?Add@@YAHHH@Z),函数 _main 中引用了该符号

3.2 添加静态库

还是右键属性:

image-20220506205727869

3.2.1 添加库目录

连接器–>常规–>附加库目录–>编辑

image-20220506210457383 image-20220506210633471 image-20220506210806660

找到所需.lib文件的目录

image-20220506211002471

3.2.2 添加依赖项

链接器–>输入–>添加依赖项

将所需添加的.lib文件填入其中,文件名之间用 ; 分割

image-20220506211250997

此时,静态库就添加完成了,下次运行时,会在链接阶段将这个.lib文件也链接进来,就可以正常运行了。

image-20220506211939163 image-20220506211939163
VS2015 C++ lib静态库的制作以及调用
12-19
解压后资源里有两个文件,一个C++_lib,为在vs2015下制作lib库的工程;另外一个为test,是调用lib库的工程
vs创建静态库
W_Volcano的博客
02-05 619
创建静态库StaticLib 编写 static_test.h static_test.cpp用于测试 在创建一个项目static_test使用静态库,首先将StaticLib静态库添加进该项目 然后将静态库包含进项目头文件目录 然后将项目设为启动像,编写代码即可使用静态库 ...
(C/C++静态库和动态库的制作
最新发布
qq_51753728的博客
09-13 563
这意味着,静态库中的代码会被复制到每个使用它的程序中,因此静态库不需要在程序运行时被单独加载。制作静态库可以帮助你将常用的代码模块化、重用,简化开发过程。首先,创建几个C/C++源文件,它们将组成静态库。例如,创建两个c文件math_functions.c和string_functions.c,并为其编写相应的功能。接下来,使用ar(archive utility)工具将这些.o文件打包成一个静态库静态库的扩展名通常是.a。要使用你创建的静态库,编译和链接你的测试程序时,必须指定库的路径和名称。
c语言visual studio制作并使用静态库与动态库的方法
weixin_50847463的博客
05-10 865
并且将我们用到的.h文件:sum.h、multiplication.h也复制过来与.lib放到同一文件夹下,将之前的.c/.h文件全部删除(若想在该项目下测试必须要全部删除,否则会报错),或者为了保险起见重新建一个测试项目,在源文件中右键->添加->新建项建operationtest.c调用静态库测试。随便打开一个文件,点击项目->属性。复制生成的StaticLib1.lib到我们创建的需要调用静态库的测试项目中,我是在StaticLibTest项目进行测试的,需要将项目文件夹里的.c/.h文件删除。
程序员技巧 —— vs 制作自己的静态库
Newin2020的博客
07-24 490
程序员技巧 —— vs 制作自己的静态库
VS创建使用静态库(实战)
qq_38834877的博客
08-02 4066
本篇文章只讲实际操作,静态库和动态库的区别简单来说,静态库就是在编译时,库函数已经被编译进工程;动态库时在运行时,程序才去调用库函数。 下面讲解如何利用vs2019创建静态库和在另外一个工程使用这个静态库。 创建静态库 一、在vs中点击新建项目,搜索静态库,创建静态库 二、静态库的工程名,取名为:StaticLib1,下面自动生成头文件和源文件。 , 三、手动新增一个LibTest.h和LibTest.cpp,在里面增加你自己需要的类和函数。我自己添加了CLibTest类和CLibtest.
vs静态库生成
Littlehero_121的博客
09-26 180
参考博客:https://blog.csdn.net/wangping623/article/details/80739575
VS2017+QT如何创建和使用静态库.rar
06-21
VS2017+QT如何创建和使用静态库的Demo Code,简单的在QT项目中使用VC的静态库,里面包括了如何创建和使用。 博客地址:https://blog.csdn.net/ZHONGCAI0901/article/details/106886208
iOS创建与使用静态库
09-02
接下来,我们探讨如何在iOS中创建静态库。iOS静态库有四种版本,对应不同的平台和构建模式(真机/模拟器,Debug/Release)。Debug版本包含完整符号信息便于调试,而Release版本进行了优化,体积更小,执行效率更高。...
c++ 创建dll(动态库)、static lib(静态库),以及dll的相互调用 示例vs2022工程
03-10
c++ 创建dll(动态库)、static lib(静态库),以及dll的相互调用 示例vs2022工程 sln项目文件在 c++_dll_staticLib\libtest\MathTestLib 目录下 以前有小错误,更新了错误(2023-05-28)
xcode 详解创建静态库和动态库的方法
01-21
xcode 创建静态库和动态库 1、linux中静态库和动态库区别: 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。 静态库:这类库的名字一般是libxxx.a;利用静态函数库编译...
VS静态库的创建及使用
weixin_58004346的博客
07-07 319
VS静态库的创建及使用最初的VC++目录对应于Microsoft Windows的SDK,它的变量也是Windows的环境变量(PATH),而C/C++中的设置不是设置环境变量,它是设置命令行参数的,只针对当前工程。即:“VC++目录”影响全局,只要是电脑上这个VS创建的工程,都会被这个设置影响,而C/C++只影响单个工程。...
VS 静态库的创建与使用
辞槿的博客
03-29 870
静态库是一种在编译时将代码直接嵌入到可执行文件中的库文件,它具有独立性、性能优势和版本控制等特点,适用于许多不同类型的项目和开发环境。如果你想要别人使用你的代码,但又不想将源代码公开的时候,也可以使用。
VS2010生成静态库(.lib)
IvanLJF的专栏
06-17 6314
打开VS2010,新建一个项目,选择win32项目,点击确定,选择静态库这个选项,预编译头文件不选。 在这个空项目中,添加一个.h文件和一个.cpp文件。名字我们起为static.h和static.cpp static.h文件: #ifndef LIB_H #define LIB_H extern "C" int sum(int a,int b); extern "C" int
vs2010如何创建并使用静态库和动态库
c1149884598的博客
01-04 914
博客原址:https://blog.csdn.net/bie_niu1992/article/details/45690381
C++ / vs 如何生成自己的静态库(lib)文件
小魏的专栏
08-31 6865
原文地址:http://panxq0809.iteye.com/blog/691225 打开VS2005,建立一个win32控制台程序,然后打开项目--LibTest属性(如图1),打开LibTest属性页(如图2),在右边配置类型处选择静态库(lib)。 然后我们就可以写我们的头文件和cpp源文件了。写完后编译下就可以在目录下找到相应的lib文件了。 图1: 图2:
VS 静态库的编写
流云轩
03-11 203
Visual Studio 下静态库的编写 使用VS建立 控制台--Static library(静态库) 项目   libTest.h 头文件 #ifndef GUARD_LIBTEST_H #define GUARD_LIBTEST_H #ifdef __cplusplus extern "C" { #endif int myadd(int a, int b); ...
使用VS生成本地静态库文件以及静态库文件的使用
Gary的面包屑小道
10-30 1055
如何生成静态库? 1、使用vs新建空项目,我使用的是vs2017 步骤:“文件”-->“新建”-->“项目”-->“空项目” 2、添加头文件,添加源文件 注:我们现在要生成自己的math静态库,里面封装了一些简单的数学计算的方法,首先我们在头文件里面进行函数的声明,因为我们需要将头文件提供给使用者,所以只在头文件中进行函数的声明,在源文件中进行函数的定义。 2.1添...
利用VS生成静态库
陈 浩
09-27 988
1.创建静态库 (1) 在“文件”菜单中,选择“新建”然后选择“项目...”。 (2) 在“项目类型”窗格中,选择“Visual C++”下的“Win32”。 (3) 在“模版”窗格中,选择“Win32项目”。 (4) 为项目选择一个名称, (5) 按“确定”启动“Win32项目”向导。在“概述”页中,按“下一步”。 (6) 在“应用程序设置”页中,选择“应用程序类型”下的“静态库”。
iOS静态库创建与使用详解
1. 使用Xcode创建一个新的“Cocoa Touch Static Library”项目。 2. 添加所需的源代码文件和资源到项目中。 3. 编译并导出静态库文件(`.a`文件)和对应的头文件(`.h`文件)。 使用静态库时,需要在目标项目中执行...
写文章

热门文章

  • 内联函数(inline)详解 39872
  • using namespace std;到底是在干嘛? 27468
  • 数据结构——循环队列 12679
  • C++11“&&”(右值引用)是个啥?移动构造?完美转发? 4639
  • VSCode远程开发入门指南 3925

分类专栏

  • Linux 14篇
  • C语言深度剖析 4篇
  • C++的那点事 16篇
  • 使用技巧与问题 3篇
  • 计算机网络 1篇
  • 数据结构 10篇
  • c++题目 1篇

最新评论

  • using namespace std;到底是在干嘛?

    feng_ye_0: 讲的真好,看明白了

  • using namespace std;到底是在干嘛?

    光电小猴子: 讲的非常好

  • 内联函数(inline)详解

    m0_73506811: 不加inline,函数可能成为内联函数吗

  • using namespace std;到底是在干嘛?

    2401_83285323: 多谢大佬,总算明白了

  • 程序的编译与链接

    weixin_40819805: VS2022下 调用函数前不在本文件声明 编译报错

大家在看

  • tuxera ntfs for mac2023破解版(含破解补丁)下载 367
  • 基于java的勤工助学管理系统【毕设】 995
  • C++:类和对象1
  • C语言笔记 17 —— 指针入门 390
  • 10.16学习

最新文章

  • Docker容器执行宿主机脚本方式
  • Linux_虚拟内存机制
  • MySQL操作合集
2024年1篇
2023年10篇
2022年44篇
2021年2篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司网站优化需要什么手续专业灰色业网站优化排名益阳一站式营销型网站优化肇庆网站优化怎么做滦县网站优化哪家专业香港网站优化企业网站目标关键词优化咨询广东网站竞价优化案例泸州网站排名优化服务展现网站优化效果怎么样沧州网站优化公司同时优化几个网站一个小时怎么优化网站淄博网站关键字优化中牟咨询网站搭建优化哪里有网站优化招商项目平台网站关键词排名优化公司雀巢公司网站优化优化手机端网站黄岛区网站优化工具安徽网站如何优化安庆网站优化推广电影网站如何做seo优化seo网站优化技术黄山seo优化网站价格重庆江津网站优化有哪些衡水市网站seo优化排名排名网站推广蜘蛛屯优化清远网站怎么优化哪个网站比较容易做优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化