Qt--静态库

提示:本文为学习内容,若有错误,请联系作者。


前言

过好当下每一天。


一、静态库

静态链接库(Statically-linked library),或称静态库,是一个外部函数与变量的集合体。静态库的文件内容,通常包含一堆程序员自定的变量与函数,其内容不像动态链接库那么复杂,在编译期间由编译器与连接器将它集成至应用程序内,并制作成目标文件以及可以独立运作的可执行文件。而这个可执行文件与编译可执行文件的程序,都是一种程序的静态创建(static build)。以过去的观点来说,库只能算是静态(static)类型。

二、静态库制作

1.新建项目

代码如下(示例):
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
包含如下文件
在这里插入图片描述

2.编辑内容

.h文件

#ifndef MYLIB_H
#define MYLIB_H

class MyLib
{

public:
    MyLib();

    int Add_Num(int a,int b);
};

#endif // MYLIB_H

.cpp文件

#include "mylib.h"

MyLib::MyLib()
{
}

int MyLib::Add_Num(int a, int b)
{
    return a+b;
}

编译执行出现如下对话框,关掉对话框即可
在这里插入图片描述

3.编译执行

分别在Debug和Release中生成libMyLib.a和mylib.o文件
在这里插入图片描述
在这里插入图片描述
将.o和.a文件分别复制到自己需要调用动态库的工程目录debug和release文件夹下。

静态库(static library):一组目标文件(.o/.obj文件)的集合,在Linux下或者是mingw环境下通过程序ar生成,意为archive,打包的意思。

Linux下静态库后缀为:.a,例如/usr/local/lib/libgsl.a
Windows下(mingw环境)静态库名称和Linux一致,如果是MSVC环境编译得到的静态库,后缀为.lib
动态库(dynamic library):使用静态库编译得到的可执行文件一般比较大,为此开发出了动态链接技术。

Linux下动态库后缀为:.so ,意为shared object
windows下(mingw)动态库后缀为.dll,意为dynamic linking library,MSVC环境编译得到动态库后缀亦为.dll

二、静态库调用

1.新建项目

在这里插入图片描述

2.添加静态库

点击项目右键->”添加库“->”外部库“
在这里插入图片描述
点击项目右键->”添加库“->”外部库“->“选择刚刚生成的静态库文件”
在这里插入图片描述
在项目.pro文件自动添加
在这里插入图片描述

3.编辑内容

添加.h文件
在这里插入图片描述
调用函数
在这里插入图片描述

编译执行结果
在这里插入图片描述

总结

善于总结,多进一步。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值