QT 48 静态库编译方法Word文档下载推荐.docx
- 文档编号:18345434
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:12
- 大小:1.22MB
QT 48 静态库编译方法Word文档下载推荐.docx
《QT 48 静态库编译方法Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《QT 48 静态库编译方法Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
并且在本人的学习过程中发现,QT可以很轻易就打造出漂亮的界面,实在是让我爱不释手。
不论是打造一些实用小程序,或是开发上位机,QT都是很不错的选择!
之前用VC++的时候,只要是编译出来的exe,就可以放到大多数的电脑上运行,而QT不同,由于QT默认是动态编译,正常运行需要调用QT的标准库(即.dll),因此要想脱离IDE单独运行,必须满足:
将关联的dll拷贝至.exe同目录(或system32文件夹内),或者在环境变量中添加QT标准库的路径。
否则就会出现如下警告:
这就使得QT的通用性受到了局限,尤其是用QT开发上位机时,如果需要在某台电脑上观测数据,除了exe,还得拷贝一大堆dll过去,显得很麻烦,那么,有没有办法可以满足,仅需要一个exe文件,就可以在所有装有win系统下的电脑上运行呢?
答案是肯定的!
这就需要将QT的标准库进行静态编译。
本人曾在网上查找了大量资料,经过各种尝试各种失败,最终完成了QT4.8最新版本的库编译。
现将整个步骤,从软件安装开始,整理出来供大家参考与交流。
PS:
这里选用的是Windows系统下的QTSDK作为开发环境,如果用VS编译,仅需在个别步骤稍作修改即可,本人不用VS很久,所以没有亲自测试。
步骤一:
下载软件安装包
一共需要下面3个安装包
1、QT下载
地址:
下载QTSDK及QTLibrary
选择离线安装包
选择MinGW版的QT标准库(VS版的对号入座)
QT4.8的标准库编译需要用到perl
下载地址
步骤二:
安装软件
1、安装QTSDK
目前QT已经被Nokia收购,因此安装包中会有很多手机程序的开发组件,如果不需要,按照下面给出的配置,去掉不需要的组件即可
首先在这一页选择“Custom”
API部分全部去掉
“DevelopmentTools”中选择“QTCreator”(默认)和“DesktopQT”中的MinGW版
个人判断:
这个库用于QT的动态编译,选择安装,即可在今后实现:
调试时使用动态库,方便快捷;
发布时使用静态库,便于使用。
这里我又选择了一遍MinGW,保险起见:
)
2、安装QT标准库
这里有一点要注意,安装前的最后一步需要选择MinGW的安装目录,在QTSDK文件夹下
选择mingw的文件夹即可
3、安装Perl环境
一路狂点Next即可
步骤三:
标准库的编译
1、配置编译选项
1)打开X:
\Qt\4.8.0\mkspecs\win32-g++\qmake.conf(X为QT安装盘符)
(建议先备份一下)
在QMAKE_LFLAGS后面加上–static
并将QMAKE_LFLAGS_DLL后面的–shared改为–static
保存并关闭
2)将X:
\Qt\4.8.0\bin下的syncqt与syncqt.bat这两个文件删除或改名
否则在编译时会提示找不到perl环境,如下图所示
2、开始编译
打开Qt4.8.0CommandPrompt软件,输入
configure–static–release–no-exceptions
PS:
这个配置仅编译release版本,如果需要同时需要静态版的Debug版本,需要把-release改为–debug-and-release
回车后会有版本选择和用户协议,先后按”o”(OpenSource)“y”(Yes)
…………耐心等待一会…………
配置完成后会出现下面这个画面:
————在开始这个步骤前,请确保你有至少2个小时的空闲时间————
接着输入mingw32-makesub-src
回车………该干啥干啥去吧…………直到你看到下面这个画面:
编译过程中可以浏览网页,可以刷微博聊QQ,但不建议跑大型程序,否则会大幅降低编译速度!
!
当你看到这个画面时,恭喜你,马上就成功了~
步骤四:
配置QTCreator
打开QTCreator新建一个工程,在Project界面点击下图所示的Manage按钮
点击ADD
进入目录X:
\Qt\4.8.0\qmake选择qmake.exe如下图
底下的VersionName可以自己起(我用的Qt4.8.0Static)
返回Project界面,添加刚才选择的编译器
选择好之后,记得确认选择的是QT4.8.0的Release版本(静态Debug版没有编译,所以选择该模式会出错)
编译一下,进入工程目录,直接双击程序,完美运行!
至此,QT静态编译完成。
由于QT直接编译出来的exe体积较大,为了节省空间,便于保存与传播,可以压缩一下,这里选用UPX
拷贝UPX.EXE至C:
\Windows\System32目录下
在cmd中输入upx(+空格)(+文件路径+文件名)(+回车)
即可出现下图
压缩比例为39.93%可见效果还是非常可观的
至此,QT的静态库编译全部完成。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QT 48 静态库编译方法 静态 编译 方法