背景
因为最近突然想写一些Windows下的小工具,想了想,自己比较熟悉Qt,于是到Qt官网上看了看,版本号已经刷到5.7了。
从官网的资料来看,这几个版本的更新主要集中在高DPI兼容和QML上,一直听说QML开发复杂的界面比较方便,而且对高DPI有良好的支持,心动不如行动,赶紧试一试。
然后高兴地发现QML设计器有时候会出现莫名其妙的BUG。
在后台跑其他计算任务的时候还会提示连接不上QML模拟器。
(;>△<)
还有输出的文件加上Qt库的DLL的话,体积巨大。
(其中一半的体积是ICU库)
关于此版本Qt
嗯……调试的时候不太可能会用到静态编译,因为每次编译都会产生上百MB的可执行文件,所以这个库只有release版本,作为最终编译发布使用。
因为我不打算用WebEngine、WebView和Qt3D,加上编译起来要花很长时间,所以就不编译这些组件啦。
详细的编译参数如下:
configure.bat -confirm-license -opensource -platform win32-g++ -mp -release -static -prefix "E:\Qt\Qt5.7.0" -qt-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples -no-icu -skip qtwebengine -skip qtwebview -skip qt3d
编译过程
编译Qt库的方法一直以来都没有太大的变化,在网上也能轻易地找到教程,这里简单的总结一下。
- 安装 Python 2.7、ActivePerl、和 MinGW;
- 到官网下载Qt源代码,并解压;
- 打开源码目录下的 mkspecs\win32-g++\qmake.conf 文件,找到 QMAKE_LFLAGS 和 QMAKE_LFLAGS_DLL,修改后面的内容为-static
- 启动 MinGW 环境,切换到源码目录,运行configure.bat,附带编译参数
- 执行mingw32-make -j4,开始编译
- 执行mingw32-make install,开始安装
结果我发现Qt5.7的安装过程依然会编译QML相关的文件,make只需要20分钟,install需要好几个小时。
下载和使用
下载地址:
链接: https://pan.baidu.com/s/1c2uusbI 密码: yvkr
因为Qt编译的时候会把路径直接写在二进制文件里,不一致的话会出现奇怪的错误。
解压后运行“自动配置.cmd”自动生成配置文件。
然后在Qt Creator里手动添加Qt版本和构建套件就可以用啦。
后续
我用来编译我的MoeWiFi(只有界面),输出的文件体积居然有20MB。
好像……还是挺大的。
然后被我抛弃了。
_(:3 」∠)_想了想,只是为了做一个适配高DPI的界面而已,Qt库的其他功能也用不上,也许还有更好的选择,试一试轮子哥写的UI库好了。
想成为女孩子是什么鬼⊙ω⊙。话说没找到留言板,只好在这留下脚印啦~
(`・д・´)惊现主题作者
(_^__^_) 嘻嘻……来看看~
多谢,我抱走了。
记录在我的博客了,不过我会表明来源 以及 不带提取码|´・ω・)ノ