从qt 4.3.5移植到qt 5.2.1时的编译错误
Compiler errors during port of application from qt 4.3.5 to qt 5.2.1
我正在将MSVC 2010的c++ Dll从32位移植到64位。因此,我改变了qt版本,它使用从qt 4.3.5到qt 5.2.1。看起来,他们改变了一些东西,因为当我尝试编译时,我收到以下错误:
- cpp(116):错误C2039: 'latin1':不是'QString'的成员
- cpp(477):错误C2039: 'extension':不是'QFileInfo'的成员
- cpp(518):错误C2660: 'QFileInfo::baseName':函数不接受1个参数
- cpp(824):错误C2039: 'setIcon':不是'QWidget'的成员
我查看了qt移植指南,但没有找到任何针对上述问题的具体内容。欢迎任何提示
我认为,所有提到的函数都来自Qt3,并且出于兼容性原因,它们与Qt3支持库一起放在Qt4中。您现在需要做的就是用Qt5 API中的等效函数替换它们。例如:
QWidget::setIcon() -> QWidget::setWindowIcon()
QFileInfo::extension() -> QFileInfo::suffix()
etc.
相关文章:
- 如何在 qt 中从另一个线程运行 qt并发时关闭程序
- 使用QT Connect时,视觉工作室警告
- 如何在单击QT窗口时将键盘控件返回到QT窗口
- 用静态版本的QT编译时,文件对话框崩溃
- 仅在交叉编译 Raspberry PI 的 QT 静态时进行 eglfs
- 尝试从 Github 编译 OpenCV QT 代码时出错
- 使用 Qt (Ubuntu 14.04) 编译 qt-dab 时出错
- 将C库链接到Qt项目时出现问题
- 在Android NDK项目中使用webrtc-58 - 使用QT构建时"Undefined reference to CopyOnWriteBuffer"
- 当我尝试使用 makefile 编译我的 qt 程序时,它不起作用
- 使用现有C程序编写Qt程序时未找到的符号
- 将鼠标悬停在 Qt 中时更改 QLabel 的背景颜色
- 触发快捷方式(QT)时的lambda表达
- LNK1104将Boost库添加到Qt项目时出错
- 仅在从命令行构建Qt项目时出错
- 错误 C2059:尝试在已知大小的头文件中创建 Qt 容器时为"常量"
- 编译Qt项目时出错"layout was not declared"
- 避免在使用ccache / clang编译Qt代码时出现多余的警告
- 使用 Qt + Opencv 时未定义的 Opencv 引用
- Qt 5.1 - 构建时出现"Add library"错误。LNK2019