- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我一直在通过一些不同的步骤来完成这项工作。我在有编译错误的文件上运行 qt3to4.exe 并完成了很多转换步骤,但是现在我收到了这个错误:1>c:\qt\4.7.0\src\qt3support\widgets\q3toolbar.h(64):错误 C2039:“ToolBarDock”:不是
和 55 个其他类似错误。这让我很困惑,因为它在 qt 自己的 q3support 库中。我还在 QT 帮助页面 (http://doc.trolltech.com/4.2/qt-qt3.html) 上看到 ToolBarDock 已被弃用,应该改用 Qt::Dock。我还没有找到太多帮助。我正在使用 Visual Studio 2008 中的库。有 QT/visual studio 专家吗?
“Qt”的成员
如果这有帮助,这里是它在 q3toolbar.h 中失败的代码:
Q3ToolBar(const QString &label,
Q3MainWindow *, Qt::ToolBarDock = Qt::DockTop,
bool newLine = false, const char* name=0);
最佳答案
实际上 qt34qt4 并没有把所有事情都做对。有许多方法、枚举等未被转换。它或多或少是简单的查找替换工具,可替换 qt\tools\porting\q3porting.xml 中的以下说明在许多情况下,类有替换定义,但此类的方法没有。在某些情况下,qt3to4 会替换根本不属于 Qt 类的代码中的枚举和方法。所以要小心。无论如何,我建议获取您代码中所有 Qt 类的列表,仔细阅读您使用的每个类的移植说明 (http://doc.qt.nokia.com/4.5/porting4.html)。另一个问题是返回类型,qt3to4 不检查返回值的使用方式。幸运的是 qt3to4 做得很好,因此修复其余部分通常是一项微不足道的重复性任务。
如果您必须移植 UI,请查看未记录的参数 -wrap of uic3。
P.S.:一些用于估算您的工作量的数字可能会有用:我在 2.5 个月内移植(编译)了一次 600TLOCs + 150 个 UI,目前我正在移植大约 150 个 TLOCs 项目并且在 2 周内取得了相当大的进展.
关于c++ - 如何将一个qt3库完全移植到qt4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3912103/
我是一名优秀的程序员,十分优秀!