Qt4升级到Qt5所遇到的问题的解决方法(qt4转qt5的问题及解决方法)

安装好Qt addin后,要修改一下插件路径:

在工程里找到这个文件:工程名.vcxproj.user,将里面的Qtdir路径修改为:C:\qt\Qt5.2.1\5.2.1\msvc2010。我的是在C盘。


重新build,会出现很多问题:

1.Cannot open include file: 'QtNetwork/QHttp': No such file or directory

修改为:http://www.tuicool.com/articles/Nf26Vb

2.#include 修改为#include

3.#include 修改为:#include

4.#include 修改为:#include

5#include 修改为:.#include

6.#include 修改为:#include

7.#include 修改为:#include

8.#include 修改为:#include

9.#include 修改为:

10.Cannot open include file: 'GLES2/gl2.h': No such file or directory  修改:

vc++ directories -> include directories     “$(QTDIR)\include\QtANGLE” 

或者

#  include
换成
#include


#include
换成:
#include


11.如果提示 QT_WA的错误,自定义一个宏:
#if QT_VERSION >= 0x050000 
  #define QT_WA(unicode, ansi) unicode 
#endif 

12.QApplication已经从原来的移动到

13.#include 修改为:#include

14.#include 修改为:注释掉

15 #include 修改为:#include

16.在Qt 4中的代码        
#ifdef Q_WS_WIN  // call windows API  #endif  
在Qt 5中应该写成  
#ifdef Q_OS_WIN  // call windows API  #endif  Qt 5移除了Q_WS_宏,所以所有包含了这些宏的代码都不会通过编译。这些代码(例如,特定操作系统,而不是特定窗口系统的代码)所包围的宏都应该改成Q_OS_。


17.Qt5 + VS2010 QDateTime =》 not enough actual parameters for macro ‘min’ & ‘max’原因:
std::numeric_limits::min();
把方法min当做宏做了展开
方法1:
#define NOMINMAX
#include 
 
  
方法2:
所有引用 windows.h的地方:  #include 换成 #include qt_windows.h有qt对windows.h的适应化修改


参考文章:

http://hi.baidu.com/xchinux/item/9044d8ce986accbb0d0a7b87

http://qt-project.org/wiki/Transition_from_Qt_4.x_to_Qt5

http://wenku.baidu.com/link?url=MLs8nqh84lUeVFJZd80aTbsT1P_A8N5NbYjEmRRN0sFdndj4cYAhvUx-brkgkQASsGuLwpJgURuizq5Tw-onX4y3Z8bNKZC0i8dsG3sIPCm

你可能感兴趣的:(Qt,Qt学习和实战)