2010-12-28 8 views
-1

私は次のヘッダーファイルを持っているのQtで新しい「C++ライブラリ」プロジェクト作成:私は、オブジェクトを構築しようとした際、私は、このQtヘッダーファイルがmocによって解析されないのはなぜですか?

#include "Test_global.h" 

#include <QString> 
#include <QTcpServer> 

class TESTSHARED_EXPORT Test : QTcpServer 
{ 
    Q_OJECT 

public: 

    Test(); 
    ~Test(); 

signals: 

    void NewMessage(QString); 
}; 

(実装ファイルは基本的に空である。)

をエラーが発生する:

 
Test.h:8: error: ISO C++ forbids declaration of ‘Q_OJECT’ with no type 
Test.h:10: error: expected ‘;’ before ‘public’ 
Test.cpp:3: error: definition of implicitly-declared 'Test::Test()' 

だから、mocはファイルをまったく処理していないようです。私は何を間違えたのですか?

+0

これはあまり書かれていない質問ですか?誰かがdownvoteを説明してくださいできますか? –

+0

Q_OJECT => Q_OBJECT? –

+0

質問のdownvoteは、それがあまり言葉を言わないか、または定位置外であることを示します。これは完全に有効な質問であり、よく書かれたIMHOでした。 –

答えて

4

Q_OBJECTでなく、Q_OJECTである必要があります。

+1

* [Facepalm] *なぜ私はそれを見ませんでしたか? –

関連する問題