类库大魔王的日常

一本流水帐

各种吐槽,倒苦水,开坑,立Flag。毫无营养,慎入!


C++/Go, Windows/Linux/macOS, iOS/Android, server/client development

一些Qt tips

Qt在Windows上支持众多编译器套件/版本,图省事可以直接从msys2的仓库通过pacman安装,有32位和64位,静态链接和动态链接总共4个包。还可以通过pacman安装Qt Creator,也有32位和64位共2个版本。经过简单试用下来发现,从msys2安装的Qt与从官网下载安装的MinGW版本Qt基本相同,但比MSVC版本要不好用些,我遇到几个问题不能解决:

  1. 编译Lua源代码失败
  2. 找不到SHGetKnownFolderPath定义
  3. 没有WebEngine

QtWebEngineCore在QT += webengine后就可以使用,但在macOS上deploy时浏览器独立进程并不能通过rpath找到链接的Frameworks,需要QT += webenginecore后解决。


Qt 5.8开源版本引入了一个QML Ahead-Of-Time编译功能,这个功能默认打开,程序使用.qml文件和.js文件会在程序第一次运行时自动编译成.qmlc文件和.jsc文件。编译后的文件之后会被程序自动装载使用,可以加速程序第二次及以后运行时装载QML文件的速度。编译后的文件存放在StandardPaths::writableLocation(QStandardPaths::CacheLocation)下面的qmlcache目录中。其实加速效果也了胜于无,比较期待商业版本中包含的QtQuick Compiler,本来说5.8开源版会有的,后来居然反悔了,之后什么时候会有开源版本就不一定咯。


另外发现一个现象,至少在Windows上很明显,使用静态编译的Qt生成的程序比动态编译的Qt生成的程序启动速度要快很多,我能想到的是从磁盘读取的东西少了,但即使是使用了SSD也仍然非常明显。不排除动态编译版本会多一些奇怪的初始化操作以致于拖慢了启动速度。

本文地址:

https://blog.minidump.info/2017/05/qt-tips/

上一篇

三清山两日游

这次team building大家投票选出了方案,去江西三清山游玩。本来以为是一条休闲级的线路,结果事实却是疯狂级!周四下午5点钟从公司出发,一行11个大人1个4岁的男孩,6点多的动车到江西玉山南站是晚上9点多。出了站恶心的事情就发生了,车站出口并没什么出租车,只有大批的黑车,组织活动的同事跟...…

Life 全文阅读
下一篇

几个使用MinGW开发遇到的问题

之前提到过我用MinGW版本的Qt遇到几个问题,现在基本解决。 不能编译Lua源代码。我在日志查看程序中嵌入Lua解释器来实现扩展功能,图省事把所有Lua源代码都拷到工程中,跟程序源代码一起编译,但在用MinGW编译时会报一些错误: D:\Works\dev\cjlv\3rdp...…

CPPOOPGPXP 全文阅读