我正在使用Qt5.4.1,并实现了服务器 - 客户端应用程序。 在QTcpServer类中,方法为:
void incomingConnection(int socketDescriptor);
具有socketDescriptor
的整数类型,但对于Qt5.5,此方法已更改并具有以下声明:
void incomingConnection (qintptr socketDescriptor);
问题是我的编译器找不到typedef qintptr
。错误消息是qintptr尚未声明。
我添加了头文件
#include <QtGlobal>
但是编译器仍然没有找到这种类型。
当我将qintptr
更改为quintptr
时,编译器会找到它,但此类型会出现类型不匹配错误。我该如何解决这个问题?
答案 0 :(得分:0)
问题是该项目是在qt5中打开的,但仍然有一些旧版qt(4.8.x)的引用。因此它在路径/usr/include/QtCore/qglobal.h中寻找qtptr。我已经改变了/opt/Qt5.../QtCore/qglobal.h的路径,问题解决了