Qt5中生成和使用静态库
在QT中静态库的后缀名为.a,在vs中开发的静态库后缀名为.lib。QT版本为5.2.1,系统为Windows。
一、 静态库的生成
- 新建项目。
新建一个静态库的项目,如图1.1所示:项目名称为test
图 1 新建项目示意图
2.选择项目类型。
选择项目类型为静态链接库,设定项目路径。共享库是创建动态链接库,后缀名为.so,vs上为.dll。
图 2 设置项目类型
3.选择下一步,选择需要的qt模块。
4.选择下一步,设置类和文件名称。
注意类名称为链接库名,在本项目中为test,对应的静态库名称为libtest.a
5.编写静态库代码。
6.构建项目。在正确编码的基础上,得到libtest.a的静态库文件。
在项目中,我们去查看.pro文件可以发现如下语句:
TARGET = test
TEMPLATE = lib
CONFIG += staticlib
如果想要生成对应debug和release版本的静态库可以使用如下语句去替换TARGET:
win32:CONFIG(debug,debug|release):TARGET = testd
else:win32:CONFIG(release,debug|release):TARGET = test
二、静态库的使用
1.新建项目。
2.添加静态库的.h文件和.a文件到项目文件中。
3.添加.h文件到项目中
4.添加.a或者.lib文件到项目中。
在这儿可以通过手动修改pro文件去实现添加。注意格式为使用格式:LIBS += -L[path to lib] -l[name of lib],例如在项目中.a文件存放在当前程序的lib目录下,可以使用如下语句:LIBS += -L$$PWD/lib/ -ltest,其中$$PWD表示当前./,test为静态库的名称。
如果怕出错,可以通过QT自带的功能区实现,如下操作:
(1).点击项目,点击鼠标右键弹出菜单,选择添加库。
(2).选择添加库的类型,分别为外部库、内部库和系统库,这儿我们选择”外部库“,点击”下一步“
(3).制定链接库和包含目录,这儿请根据实际情况选择,这儿平台选择”window“,”静态库“,”为debug添加‘d’的后缀“,在点击“下一步”
(4).这儿就可以看到添加到pro中的语句,确认无误后,选择完成,这样便完成了对静态库的添加。
5.根据实际静态库的内容完成实际操作.
转载于:https://www.cnblogs.com/tianzhang/p/4911790.html
Qt5中生成和使用静态库相关推荐
- Android NDK生成及连接静态库与动态库
对于Android应用开发,大部分情况下我们使用Java就能完整地实现一个应用.但是在某些情况下,我们需要借助C/C++来写JNI本地代码.比如,在使用跨平台的第三方库的时候:为了提升密集计算性能的时 ...
- 使用 Xcode 5 生成和使用静态库
在项目中使用打包的静态库 Download Demo 1.创建静态库文件 步骤1:创建新项目,选择 "Framework & Library" --> "C ...
- VC6.0中创建和使用静态库
一:在VC6.0中创建静态库 1, 新建一个win32 static library工程,默认"OK",然后点击"finish"即可: 2, 在此工程中添加.c ...
- linux 中如何将文件粘贴到usr下的lib内,学会在Linux下GCC生成和使用静态库和动态库...
一.基本概念1.1什么是库 在windows平台和linux平台下都大量存在着库. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 由于windows和linux的平台不同(主 ...
- c语言将程序写为动态库,VS下生成C程序静态库(LIB)及动态库(DLL)的方法
一.前言 工作中有时候因为分工合作的原因需要让别人调用自己写的代码去完成某项功能,但是又不想让别人看到具体的实现过程,只是提供一个API形式的接口供别人调用:又或者是其他的一些原因,有必要学习静态库及 ...
- Linux下Gcc生成和使用静态库和动态库详解
参考文章:http://blog.chinaunix.net/uid-23592843-id-223539.html 一.基本概念 1.1什么是库 在windows平台和linux平台下都大量存在着库 ...
- Linux-(C/C++)生成并使用静态库/动态库
静态库/动态库概要 在Windows下静态库的后缀为:.lib.动态库后缀为:.dll:而在Linux下静态库的后缀为:.a.动态库的后缀为:.so. 那么什么是静态库呢? 首先我们来看看程序编译的大 ...
- Linux下GCC生成和使用静态库和动态库详解(二)
2.1准备好测试代码hello.h.hello.c和main.c: hello.h(见程序1)为该函数库的头文件. hello.c(见程序2)是函数库的源程序,其中包含公用函数hello,该函数将在屏 ...
- Linux下Gcc生成和使用静态库和动态库详解(转)
一.基本概念 1.1什么是库 在windows平台和linux平台下都大量存在着库. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 由于windows和linux的平台不同( ...
最新文章
- 4.4.4 Factory方法
- Nginx访问控制_IP访问控制(http_access_module)原理、局限性、解决方法讲解
- 技术前沿:Redis推出性能碾压ES和Mongo的大杀器
- 手把手教你解析Resources.arsc
- 微信开发系列之五 - 将SAP UI5应用嵌入到微信中
- python locust 能压测数据库_python locust 性能测试:HOOKS钩子方法
- Token认证微服务
- Shell编程入门(第二版)(中)
- ppp lcp协商报文有哪些_PPP 点到点协议
- 虎牙面试官:String长度有限制吗?是多少?我:这太...
- 原生新版仿微信 即时通讯聊天源码(附教程)
- 华为eNSP静态路由原理与配置实例详解
- 域名解析邮箱服务器地址,邮件域名设置解析
- mysql广告投放查询_广告投放数据分析
- ie8不支持transform: translateY,ie9支持不友好
- Flink状态管理与状态一致性(长文)
- 批量将txt文件转为csv文件
- Java并发 ReentrantLock(重入锁)之非公平锁源码解析 超详细!!
- iOS真机测试详细步骤及图解
- 国内和国外DNS服务器地址 全国各地电信DNS服务器地址
热门文章
- 【STM32】窗口看门狗相关类型和函数
- 【Linux系统编程】IO标准缓冲区
- 凡子谷机器人创客教育_【活动纪实】机器人创客教育课堂——液压升降台
- 做完系统回来计算机连接不上网络,重装系统后电脑连不上网怎么回事
- c语言计算机二级考试要点,全国计算机二级考试c语言考试要点
- LeetCode hard 668. Kth Smallest Number in Multiplication Table(二分答案)
- C++学习笔记-----std::string的=,+,+=对int,char类型操作数的支持
- csapp学习笔记2021.1.9
- 三数之和—leetcode15
- sql2016是否支持linux,微软 SQL Server 支持 Linux 了,2017年 中将正式推出