当前位置:Gxlcms > 数据库问题 > 迁移 Qt4 至 Qt5 的几个主要环节(数据库插件别拷错了地方)

迁移 Qt4 至 Qt5 的几个主要环节(数据库插件别拷错了地方)

时间:2021-07-01 10:21:17 帮助过:2人阅读

3,插件系统的修改。 新的 Q_PLUGIN_METADATA 在插件实现类的首部,代替了以往在 CPP里Export 的模式,对迁移没有影响。加入编译预处理宏,判断一下标志,决定采用哪一种方法。

4,字符串处理方式问题。目前,由于项目对中文、英文和国际化的使用较为规范,没有遇到乱码的问题,可以认为兼容性较好。

5,第三方依赖性

      如果引用了 PostgreSQL 或 MySQL的Sql 连接插件,注意把 libpq 和  libmysql相关的库文件拷贝到可执行文件所在文件夹下,而不是 plugins 所在的文件夹,否则尽管可以枚举到驱动,但连接可能失败。如果引用了OCI的插件,注意不要拷贝oci.dll 到发布文件夹,在某些情形下,会导致连接失败。而是利用发布目的机器路径系统上的oracle 连接实例来获取依赖。

6、发布程序

     Qt5的plugins 文件夹中的内容,不要忘记一起发布。

总结:   经过测试, Qt4 到 5 的转换比 Qt3->4 要平滑很多,一般的项目均可以快速迁移。

-------------------------------

      顺便吐糟,编译Qt5对资源的消耗大大出乎意料,特别是那个 Webkit,Link时直接硬盘 100%狂闪,虚拟内存撑了N大,真是后悔内存没多买一条。内存碎片化估计也很严重,编译到outof mem后,重启系统接着来才成。在GCC下也是,Mac 没试过。

     以目前Qt代码量来看,再过几年没有4G的内存根本就没法编译。这样想来应该不止Qt,恐怕以后很多大一点的C++项目都是如此吧——雪球滚大了,不停的要兼容旧版、加入新功能,而且重构对很多项目来说是不可能的,只能越滚越大。

http://blog.csdn.net/goldenhawking/article/details/8497205

迁移 Qt4 至 Qt5 的几个主要环节(数据库插件别拷错了地方)

标签:

人气教程排行