应用程序端口中的编译器错误从qt 4.3.5到qt 5.2.1

时间:2014-05-08 12:16:27

标签: c++ qt

我正在将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移植指南,但没有找到任何特定于上述问题的内容。 任何提示欢迎。

1 个答案:

答案 0 :(得分:0)

我认为,所有提到的功能都来自Qt3,出于兼容性原因,它们与Qt4以及Qt3Support库一起使用。您现在需要做的就是用Qt5 API中的等效函数替换它们。例如:

QWidget::setIcon() -> QWidget::setWindowIcon()
QFileInfo::extension() -> QFileInfo::suffix()
etc.