TypeError: Result of expression 'name.invokeMethod' [undefined] is not a function.
事象
Q_INVOKABLE メソッドが実行されず、次のエラーが表示される。
エラーメッセージ
TypeError: Result of expression 'name.invokeMethod' [undefined] is not a function.
環境
- Qt 4.8.6
- Ubuntu 14.04
原因
A. クラスの定義に Q_OBJECT キーワードが含まれていない。
B. 関数の宣言文に Q_INVOKABLE キーワードが含まれていない。
C. 関数の宣言文を #ifdef Q_OS_LINUX ~ #endif で囲んでいる。
Q_OS_UNIX は defined になるが、Q_OS_LINUX は undefined になる。バグと思われる。
デバッグ開始が失敗する
シャットダウンスクリプト
設定画面
コントロールパネル→システムとセキュリティ→管理ツール→ローカルセキュリティポリシー
スクリプトの保存先(標準)
C:\Windows\System32\GroupPolicy\Machine\Scripts\Shutdown
リモート Linux にデプロイする方法
.pro ファイルに下記の行を追加する。
target.path += <リモート Linux 上のパス> INSTALLS += target
例
target.path += /opt/myapp INSTALLS += target
ERROR: QA Issue: recipe: Files/directories were installed but not shipped
問題
bitbake を実行すると package タスクで次のエラーが表示される。
ERROR: QA Issue: <レシピ名>: Files/directories were installed but not shipped /usr/src /usr/src/debug ...
解決方法
レシピに次の行を追加する。
PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
QMAKE_POST_LINK 実行時の環境変数
Windows 7 の場合
ALLUSERSPROFILE APPDATA COMMONPROGRAMFILES(X86) COMMONPROGRAMFILES COMMONPROGRAMW6432 COMMPATH COMPUTERNAME COMSPEC FP_NO_HOST_CHECK HOMEDRIVE HOMEPATH LC_ALL LOCALAPPDATA LOGONSERVER MAKEFLAGS MAKELEVEL MFLAGS NUMBER_OF_PROCESSORS OS PATH PATHEXT PROCESSOR_ARCHITECTURE PROCESSOR_ARCHITEW6432 PROCESSOR_IDENTIFIER PROCESSOR_LEVEL PROCESSOR_REVISION PROGRAMDATA PROGRAMFILES(X86) PROGRAMFILES PROGRAMW6432 PROMPT PSMODULEPATH PUBLIC QTDIR READYAPPS SESSIONNAME SYSTEMDRIVE SYSTEMROOT TEMP TMP TVT TVTCOMMON UOIPME_REG_PATH USERDOMAIN USERNAME USERPROFILE WINDIR WINDOWS_TRACING_FLAGS