最近一次偶然的机会,我拿起了Qt,发现最新的Qt(5.11.2)已经有了官方的MQTT支持。 之前用过第三方qmqtt,总感觉API比较别扭。 Web引擎终于从兼容性较差的QWebkit改为Chromium(Qt WebEngine)。 当时QWebkit渲染的网页确实难以阅读,所以我使用了封装CEF(Chromium Embedded Framework)的qcef,现在终于有了官方支持。 Chromium 引擎现已推出。 不过别高兴得太早,Qt MQTT 需要商业授权才能在安装包中拥有相关选项,而 Qt WebEngine 在安装包中只附带了 64 位版本。 看来全部只能自己编译了,下面记录一下编译过程。
开发环境
Windows 10 + VS 2017 + Qt 5.11.2
对比2017年
地址:,下载Visual Studio Professional 2017(版本15.7)的在线安装程序。 安装时,在主界面选择C++开发,在右侧添加“Windows XP对C++的支持”。
国家开发银行
Qt需要额外的调试器CDB才能够正常调试。 您可以在网上找到单独的安装包。 微软官方的解决方案是使用Windows 10 SDK在线安装程序,只需勾选“Debugging Tools for Windows”即可安装。
Qt 5.11.2
地址:,下载qt-opensource-windows-x86-5.11.2.exe。 安装时:
编译并安装Qt MQTT
从Qt 5.10开始qt源码编译解析,Qt官方提供了MQTT组件,但它被集成到“Qt for Automation”组件中,但只有需要商业授权的账户安装Qt时才能选择该组件。
所以只能下载源码自己编译安装:,注意切换分支到5.11.2。 编译安装过程:
Qt 网络引擎
虽然Qt安装时可以选择“Qt WebEngine”模块,但提示说仅对应VS2017 64位版本的Qt。 所以只能自己编译安装,安装Qt的时候源码就已经安装好了。 编译安装过程:
注意:执行qmake后,在“Qt is nowconfigure forbuilding”的提示下,还会提示“You Should NOT run 'nmake install'”和“Note that this build不能部署到其他机器或设备” ”qt源码编译解析,这两个提示应该是错误的,仅在编译QtBase时适用。