前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Qt CMake怎能让我继续使用你

Qt CMake怎能让我继续使用你

作者头像
Qt君
发布2023-03-17 15:29:45
8910
发布2023-03-17 15:29:45
举报
文章被收录于专栏:跟Qt君学编程

  最近开发ARM应用,使用Qt 6.2版本交叉编译源码,编译倒是没什么问题,也很快就编译好了。正准备使用Qt库编译写好的程序时,发现使用QMake编译不过了,报Qml缺少连接,最后询问了维护人员,是一个内部的问题,还没有修改好,建议使用CMake编译,无奈将项目pro工程修改为CMake工程,如无意外就编译通过了。

  使用几天发现后,使用QtCreator支持的Qt CMake工程,编译时间比QMake的长,大约慢30%到50%的时间,QtCreator卡顿频繁,在频繁读取文件,修改Qml文件后编译运行时间更长。当时想可能是QtCreator的问题了,于是使用命令行执行编译,结果一样的编译的慢啊。

  后来发现,编译Qml前Qt CMake会复制Qml,类型文件和依赖文件到编译目录中,这就大大降低了编译速度。

  目前来看,Qt CMake还不是很成熟,至少它优化得不太好。回想Qt 6.0更新的时候都没有将全部Qt 5.15版本的模块移植进来,搞了一个按揭移植,移植到Qt 6.4也没有完全移植完成,比如Location模块,文末有截图和访问链接证实。

  QMake构建Qt源码实在太难扩展,但换做CMake构建的确是构建方便了,如果只为构建Qt源码方便,那大可不必将QMake项目切换到CMake项目,如果没接触过CMake的工程师,贸然切换,只会徒增开发成本。

  这里不是指CMake不好,平时君君也会首选CMake来管理跨平台纯C项目,用起来也很棒。这里的不好是指Qt CMake不好,一堆moc,uic,qml代码生成管理工具,都通过CMake处理,目前看来是优化得不太好。

  君君最后建议再等等Qt的更新,Qt 6.x的最后一个版本或者Qt 7.0以上才切换到CMake管理项目吧。

详情:https://www.qt.io/blog/qt-6.4-released

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Qt君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档