読者です 読者をやめる 読者になる 読者になる

TypeError: Result of expression 'method' [undefined] is not a function.

QML Qt 4.8 Ubuntu

事象

C++ のメソッドが実行されず、次のエラーが表示される。

エラーメッセージ
TypeError: Result of expression 'Scope.Method' [undefined] is not a function.

環境

原因

A. クラスの定義に Q_OBJECT キーワードが含まれていない。
B. 関数の宣言文に Q_INVOKABLE キーワードが含まれていない。
C. 関数の宣言文を #ifdef Q_OS_LINUX ~ #endif で囲んでいる。

Q_OS_UNIX は defined になるが、Q_OS_LINUX は undefined になる。バグと思われる。