2016-04-08 10 views
0

私はQt5.4.1で作業しており、サーバークライアントアプリケーションを実装しています。 QTcpServerクラスで 方法:タイプqintptrがQt5.4.1に見つかりません

void incomingConnection(int socketDescriptor); 

socketDescriptorための整数型を持っていますが、Qt5.5のために、この方法を変更し、次の宣言を持っていました:

void incomingConnection (qintptr socketDescriptor); 

問題は私のことですコンパイラはtypedefを見つけませんqintptr。エラーメッセージは、qintptrが宣言されていないことです。

私は

#include <QtGlobal> 

ヘッダファイルを追加したが、コンパイラは、このタイプを見つけることができません。

qintptrquintptrに変更すると、コンパイラはそれを検出しますが、この型は型の不一致エラーを示します。どうすればこの問題を解決できますか?

+1

複数のQtインストールがありましたか? – danielfranca

+0

新規および小規模プロジェクトでエラーを再現できますか? – danielfranca

+0

@danielfranca私は新しい小さなプロジェクト、e、g。 foprtuneServerの例ではエラーが生成されず、小さなプロジェクトが問題なくコンパイルされて実行されます –

答えて

0

問題は、プロジェクトがqt5で開かれたが、以前のバージョンのqt(4.8.x)への参照が残っているということです。したがって、/usr/include/QtCore/qglobal.hパスでqtptrを探していました。私は/opt/Qt5.../QtCore/qglobal.hへのパスを変更しました。問題は解決しました。

+0

どこで変更できますか? –

+0

@Alexander左のバーのQtCreatorには、Projectsアイコンがあります。それをクリックして、Tab Build&Runの下にあるBuildボタン、Runボタンをクリックすると、Qt5に変更することができます。 x qintptrタイプをサポートする –

+0

ありがとう! @ワライド –

関連する問題