qt 静态编译 收集
https://github.com/last2win/qt-5.13
Qt最新版5.13在Windows环境VS 2017 64位静态编译完成的结果
此仓库很大,建议直接下载压缩包
具体的添加到Qt Creator的过程参考我的博客:Qt最新版5.13在Windows环境静态编译安装和部署的完整过程VS 2017
1
Qt最新版5.13在Windows环境静态编译安装和部署的完整过程(VS 2017/VS 2019)
https://blog.csdn.net/zhangpeterx/article/details/91952129
为什么要静态编译
在默认情况下,用QtCreator编译程序时,使用的是动态编译。编译好的程序在运行时需要另外加上相应的Qt库文件,一大堆dll文件。如果想将生成的程序连同所需要的库一起完整地打包成一个可执行程序,那就需要使用静态编译。Qt官方不提供静态编译好的安装包,所以需要我们在自己的电脑上静态编译。而且exe文件会比动态编译的要小上很多。
1.源码下载
Qt最新版5.13.0的源码下载地址:Index of /archive/qt/5.13/5.13.0/
2019-6-18: Qt 5.13.0版本出来
编译环境选择
在Windows上,有两个预构建环境可供选择:一个是MinGW,另一个是Microsoft Visual Studio(MSVC)。这两个环境不兼容,无法混合。你必须选择一个。
这两者的区别如下:
当你的项目使用MinGW编译的使用,想要用一个MSVC编译生成的库时就会有问题。使用MinGW编译项目的时候,所使用的Lib也要是MinGW编译的。如果你只是开发Window平台的软件时,最好用Qt MSVC组合,这样可以使用大量的第三方lib,还有很多的构建指令,毕竟window上MSVC才是王道。
我选择MSVC,打开安装VS时自带安装的MSCV:VS 2017的开发人员命令提示符
安装完成后,QT的文件夹有2.98G的大小
4.添加到Qt Creator
这里需要说明一下,Qt Creator现在已经不能直接下载最新版本,需要在线安装:Index of /archive/online_installers/3.1
下载后安装最新版的Qt Creator4.9
①添加Qt Versions:
②新建一个构建套件,Qt版本选择刚添加的静态版,其他选项与动态版相同即可。
https://www.bilibili.com/video/av40274962/
Dalao们多多指教
清华开源软件镜像站版本直达
https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/qt/
静态链接库(5.9.3版本)
链接:https://pan.baidu.com/s/1qqtD6bP-9B2oXrEN7-FHPg
提取码:comd
其他QT版本静态链接库(5.4.2-5.8.0)
链接: (已失效)
2
如果移动了QT SDK的安装目录,即编译后的SDK发送给别人使用,或者修改了SDK的目录名称等等,则需注意会各种报错,这是因为qt 将路径硬编码到了qmake.exe中, 但是会优先寻找qt.conf ,如果有就使用qt.conf中配置的路径,没有则使用默认路径,在新编译的Qt版本bin目录下缺少配置文件qt.conf,我们把msvc2017_64\bin\qt.conf配置文件,拷贝一份到msvc2017_32\bin目录下目录下即可:也可以自己手动在qmake目录下新建一个qt.conf文件,注意,编码一定要ANSI格式,不能用UTF-8。路径分隔符用"/"或“\”)。
[Paths]
Prefix=..
静态编译如果提示:: error: LNK1181: 无法打开输入文件“C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\winspool.lib”,则需要安装对应版本的windows SDK。因为别人静态编译依赖的此SDK。安装SDK到报错所在目录。同时要看清楚别人分享的编译版本是Debug还是Release,还是两个版本都包含的,要不然别人只提供的编译的Release版本,你往死里编译Debug版本不报错才怪。
他人编译的各种版本(所有版本:只有Release!!!!!!!!)
https://sourceforge.net/projects/fsu0413-qtbuilds/files/
https://github.com/Fsu0413/QtCompile
可以直接 双击启动,不用打包 类似MFC 静态编译生成的exe文件
第一次启动的时候,会比较慢
3
https://github.com/last2win/qt-5.13
Windows Kits\10\lib\10.0.17763.0\um\x86\winspool.lib
从如下目录复制过来的
C:\Program Files (x86)\Windows Kits
release 和debug 都可以
3
. 静态编译
优点: 发布简单,单一文件,在移植时如果空间足够,采用静态编译比较可靠
缺点: 库文件很大,更新程序版本不方便。每次升级,都要重新分发所有的内容。
对QT而言,需要重新编译静态库(非常耗时),且插件的使用比较麻烦http://hi.baidu.com/cyclone/blog/item/25b262d9337a172310df9b78.html
要查询应用程序关联的库,可用命令 ldd ./application
- 生成有图标的exe文件
QT Creator虽然可以轻松地设置窗口的小图标,但并没有提供设置exe文件图标的功能。
其实做起来并不难。
·首先当然要准备一个.ico图标文件(假定为myIcon.ico),将其复制到工程目录当中(.pro文件所在的目录)。
·然后在QT Creator中Ctrl+N或 File --> New File or Project
选择General中的Text File
名称填写为.rc文件(如myRc.rc)
在里面只用写一行:
IDI_ICON1 ICON DISCARDABLE “myIcon.ico”
·编辑.pro文件,里面应该有:
OTHER_FILES+= \
apprc.rc
在其下再添加一行(如果没有上面的内容也没事):
RC_FILE =
myRc.rc
·最后编译一下就好了,新生成的exe文件的图标就会变成myIcon.ico的样子