首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将qt3库完全移植到qt4?

如何将qt3库完全移植到qt4?
EN

Stack Overflow用户
提问于 2010-10-12 14:14:31
回答 3查看 1.9K关注 0票数 3

我一直在跌跌撞撞地通过一些不同的步骤来做到这一点。我在有编译错误的文件上运行了qt3to4.exe,并完成了许多转换步骤,但是现在我得到了这个错误:1>c:\qt\4.7.0\src\qt3support\widgets\q3toolbar.h(64) : error C2039: 'ToolBarDock' : is not a member of 'Qt'和其他55个类似的错误。这让我很困惑,因为它在qt自己的q3support库中。我还在QT帮助页面(http://doc.trolltech.com/4.2/qt-qt3.html)上看到ToolBarDock已被弃用,应该使用Qt::Dock。我在这方面找不到太多的帮助。我使用的是Visual Studio2008中的库。有没有QT/visual studio专家?

如果这有帮助,下面是q3toolbar.h中失败的代码:

代码语言:javascript
复制
Q3ToolBar(const QString &label,
          Q3MainWindow *, Qt::ToolBarDock = Qt::DockTop,
          bool newLine = false, const char* name=0);
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-24 20:44:05

实际上,qt34qt4并不是所有的事情都是正确的。有很多方法、枚举等都不会被转换。它或多或少是一个简单的查找-替换工具,它替换了qt\tools\porting\q3porting.xml中的以下指令。在许多情况下,有一个类的替换定义,但没有这个类的方法。在某些情况下,qt3to4替换了根本不属于Qt类的代码中的枚举和方法。所以要小心。在任何情况下,我都建议获取代码中所有Qt类的列表,仔细阅读您使用的每个类的移植说明(http://doc.qt.nokia.com/4.5/porting4.html)。另一个问题是返回类型,qt3to4不检查返回值是如何使用的。幸运的qt3to4是一项很好的工作,因此修复其余的工作通常是一项琐碎的、重复的任务。

如果必须移植UI,可以查看uic3的未记录参数-wrap。

附言:对于你的工作量估算,一些数字可能会有用:我在2,5个月内移植(编译)了一次600TLOCs + 150个UI,目前我移植了大约150个TLOC项目,并在2周内完成了相当多的工作。

票数 2
EN

Stack Overflow用户

发布于 2011-08-21 01:29:19

在将项目导入到VC++中后,我也遇到了这些错误。将QT3_SUPPORT添加到预处理器定义修复了该问题。

票数 2
EN

Stack Overflow用户

发布于 2010-10-14 04:11:51

我最终在这个问题上走了一条不同的路线。我在其他地方的"qt3库“中找到了我需要的实现。就在我发现这一点之前,我从一些同事那里得到了一些建议。大家的共识是,我需要重新构建Qt指定,以包含qt3支持。尽管我没有坚持到底,但这里有一些有用的链接。

http://www.qtcentre.org/wiki/index.php?title=Qt4_with_Visual_Studio

http://lists.trolltech.com/qt-interest/2006-11/thread00177-0.html

如果有人遇到这个问题并解决了这个问题,请发布你的解决方案!谢谢。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3912103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档