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

事象

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

エラーメッセージ
TypeError: Result of expression 'name.invokeMethod' [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 になる。バグと思われる。