QT静态库如何使用

接上一篇文档,将QT源码编译后,安装到了电脑上,本篇文章讲一下如何使用静态库,编译一个应用软件。

1,电脑上装QT6.10.1或QT6.10.2版本软件。打开工程,在欢迎页面,选择示例,如下图:

我选择了一个CAN相关的工程,代码目录如下:C:\Qt\Examples\Qt-6.10.1\serialbus\can

2,打开工程后,点击项目,管理构建套件,根据下图所示,一一选择或输入:

3,上面设置完成后,点应用。

然后操作下图,选择release

4,编译,上述操作完成后,点编辑,点构建,进行编译,如下图

之后可以在C:\Qt\Examples\Qt-6.10.1\serialbus\can\build\Qt_6_10_2_Static_MinGW-Release目录中到找can.exe文件,差不多1个G大小。

5,压缩,由于上面生成的文件较大,不方便拷贝使用,需要进行压缩,在C:\Qt\Examples\Qt-6.10.1\serialbus\can目录中找到can.pro文件,用记事本打开,添加如下图的三行,主要用于编译时压缩,去掉不用的静态库,再次编译后,can.exe文件只有不到50M。

bash 复制代码
CONFIG += release
QMAKE_CXXFLAGS_RELEASE += -Os -s
QMAKE_LFLAGS_RELEASE += -Wl,-s,--gc-sections

6,进一步压缩,需要使用upx工具(免费压缩器),github地址:https://upx.github.io/,解压后把upx.exe放到系统 PATH 目录。如下图

重新以管理员方式打开命令行,之后使用CD命令切换到can.exe所在的文件夹,输入upx -9 can.exe进行进一步的压缩。如下图:

从上面图中可以看到,exe文件由50M压缩到了30M左右,并且压缩完成后,exe文件运行依然正常。

相关推荐
大丑哥14 小时前
QT QML 中实现高亮功能
qt
小白不想画工图17 小时前
银河麒麟V10系统安装QT5.12
linux·开发语言·qt·银河麒麟
mengzhi啊18 小时前
QEventLoop loop配合loop.exec();替代while(1)。电脑cpu占用为0,使用while(1)cpu占用率100%
c++·qt
@福者21 小时前
C++ QT 入门
开发语言·c++·qt
长友cy21 小时前
Qt官方示例BluetoothLowEnergyGame源码阅读
开发语言·qt
Quz21 小时前
QML 日期解析:字符串转日期与时间戳互转
qt
Coodor21 小时前
信创系统基于QT5操作NFC读写器
开发语言·qt·智能卡·nfc读写器·yw-607hc
励志不掉头发的内向程序员21 小时前
【LibreCAD 2D架构】从鼠标点击到屏幕像素:LibreCAD绘图架构全链路解析之Action与命令系统
linux·开发语言·c++·qt·学习·系统架构
沧海一笑-dj1 天前
【Qt】Qt6.11安装教程详解
qt·qt creator·qt6·qt安装·qt安装教程
似水এ᭄往昔1 天前
【QT】--常用控件(QWidget的核心属性)
服务器·开发语言·qt