リモート Linux にデプロイする方法

Qt

.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 = "d…

fc-* の違い

fc-cache フォント情報キャッシュをビルドする。 fc-cat フォント情報キャッシュを読む。 fc-list パターンにマッチするフォントを列挙する。 fc-match パターンにベストマッチするフォントを列挙する。 fc-pattern パターンを解析して表示する。 fc-query …

QMAKE_POST_LINK 実行時の環境変数

Qt

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_P…

ソースパス/ソース URL として正しくありません

問題 リポジトリーをクローンしようとすると次のメッセージが表示され、クローンできない。 ソースパス/ソース URL として正しくありません 環境 SourceTree 1.9.10.0 Git 2.10.2 + git-lfs v1.2.0 原因 パスに全角文字が含まれているため。 当該バージョン…

passing 'const ...' as 'this' argument of '...' discards qualifiers [-fpermissive]

問題 コンパイル時に次の様なエラーが表示される。 passing 'const ...' as 'this' argument of '...' discards qualifiers [-fpermissive] 原因 const 関数内でメンバー変数を変更しようとしたため。

configure: error: could not find GNU libtool >= 1.5.26

問題 crosstool-ng の configure が次のエラーで失敗する。 configure: error: could not find GNU libtool >= 1.5.26 環境 Debian 8.6 (jessie) 原因 libtool-bin パッケージがインストールされていなかっため。 対処 libtool-bin パッケージをインストール…

undefined reference to `<クラス名>::<シグナル名>'

問題 シグナルを定義してビルドすると下記のエラーが発生する。 undefined reference to `<クラス名>::<シグナル名>' 原因 クラス定義に Q_OBJECT キーワードを記述していないため。 対策 クラス定義に Q_OBJECT キーワードを記述する。 class MyClass { Q_O…

ウィンドウ名からウィンドウ ID を得る

X11

xwininfo コマンドを使う。 xwininfo -name NAME wmctrl コマンドの結果をフィルターする。 wmctrl -l | grep "NAME"

ERROR: ExpansionError during parsing ...: Failure expanding variable do_unpack: SyntaxError: invalid syntax ...

問題 レシピに do_unpack_append を追加すると、do_unpack 実行時にエラーになる。 レシピ: do_unpack_append(){ rm obstacle.file } エラー: ERROR: ExpansionError during parsing ...: Failure expanding variable do_unpack: SyntaxError: invalid syn…

 objcopy failed with exit code 256 ...: File format not recognized

問題 package タスクが次のエラーで失敗する。 ERROR: objcopy failed with exit code 256 (cmd was 'arm-poky-linux-gnueabi-objcopy' --only-keep-debug '/path/to/workdir/package/usr/bin/example' '/path/to/workdir/package/usr/bin/.debug/example'):…

タスクの一覧を表示する方法

bitbake コマンドで listtasks タスクを実行する。 なお、表示されたタスクが実行されるとは限らないようだ。 $ bitbake -c listtasks <レシピ名> $ bitbake -c listtasks core-image-minimal do_build Default task for a recipe - depends on all other no…

X11 で ウィンドウ ID の一覧を得る方法

wmctrl コマンドを使う。 $ wmctrl -l xwininfo コマンドを使う。 $ xwininfo -root -tree

Unknown module(s) in QT: script

問題 .pro に "QT += declarative" を記述すると、script モジュールのエラーになる。 Unknown module(s) in QT: script 環境 Ubuntu 14.04 LTS 64bit + Qt 5.2.1 Raspbian 8.0 + Qt 5.3.2 解決方法 qtscript5-dev パッケージをインストールする。 $ sudo ap…

Unknown module(s) in QT: declarative

問題 .pro に "QT += declarative" を記述するとエラーになる。 Unknown module(s) in QT: declarative 環境 Ubuntu 14.04 LTS 64bit + Qt 5.2.1 Raspbian 8.0 + Qt 5.3.2 解決方法 qtquick1-5-dev パッケージをインストールする。 $ sudo apt-get install q…

Unknown module(s) in QT: quick

問題 qmake を実行したら、[問題]タブに次のエラーが表示される。 Unknown module(s) in QT: quick 環境 Ubuntu 14.04 LTS 64bit 解決方法 qtdeclarative5-dev パッケージをインストールする。 $ sudo apt-get install qtdeclarative5-dev 参考文献 qt - W…

bash の「もしかして」を無効にする

問題 Ubuntu でコマンドを typo すると自動的にパッケージが検索される。 $ hoge コマンド 'hoge' は見つかりませんでした。もしかして: コマンド 'hose' - パッケージ 'netpipes' (universe) hoge: コマンドが見つかりません 検索の間、待たされるのが嫌な…

Q_INVOKABLE メソッド呼び出し時に TypeError が発生する

問題 Q_INVOKABLE メソッドの呼び出し時に次のエラーが発生する。 TypeError: Result of expression 'identifier.method' [undefined] is not a function. 原因 クラス定義に "Q_OBJECT" が無いため。 解決方法 クラス定義に "Q_OBJECT" を書く。 class MyEl…

プログラムをコマンドプロンプトで実行すると printf 出力が表示されない

問題 printf 関数を使ったプログラムを Qt Creator で実行すると文字列が表示されるが、コマンドプロンプトで実行すると何も表示されない。 環境 Qt 5.3.2 for Windows 解決方法 プロジェクトファイル (.pro) に次の行を追記する。 CONFIG += console 参考文…

std:endl を使うと、アプリケーションが動作を停止する

問題 std:endl を使ったプログラムを実行すると、APPCRASH が発生する。 デバッガー上で実行すると、SIGILL (Illegal instruction) が発生している。 環境 MinGW 4.8.2 Qt 5.3.2 原因 実行時リンクに MinGW の libstdc++-6.dll ではなく、マイクロソフトの l…

Qt 4.8 (Qt Quick 1) で QML の実行時間を計測する

var t1 = new Date().getTime(); ... var t2 = new Date().gettime(); console.debug(t2 - t1);

プロジェクト (.pro) で OS ごとに分岐する

Qt

windows { folder01.target = debug/data } else { folder01.target = data } 参考にしたページ Compiling one program on Linux and Windows (MingGW) with only one .pro file? | Qt Forum

fatal: unable to connect to ... errno=No error

問題 git clone が、次のエラーで失敗する。 $ git clone git://server/repo.git Cloning into 'repo'... fatal: unable to connect to repo: repo[0: 192.168.0.1]: errno=No error 環境 クライアント Windows 7 Pro. x64 Git for Windows 2.8.1 サーバー D…

リモートリポジトリーに Windows 共有フォルダーを設定する

Git

git add origin //server/path/to/repo.git または git remote set-url origin //server/path/to/repo.git

ERROR: OE-core's config sanity checker detected a potential misconfiguration.

原文 ERROR: OE-core's config sanity checker detected a potential misconfiguration. Either fix the cause of this error or at your own risk disable the checker (see sanity.conf). Following is the list of potential problems / advisories: Erro…

bool QThread::wait(unsigned long time = ULONG_MAX)

いずれかの条件を満たすまで、スレッドをブロックする: スレッドに関連付けられた QThread オブジェクトが実行を終了する (run() から復帰した時など)。この関数は、スレッドが終了すると true を返す。また、スレッドがまだ開始されていない場合は true を…

FolderListModel を更新する

nameFilters プロパティーを更新する。 FolderListModel は、nameFilters プロパティーが更新されると再読み込みを行うぽい。これを利用する。 ListView { anchors.fill: parent model: FolderListModel { id: folderListModel folder: "file:///C:" } deleg…

Cannot anchor to an item that isn't a parent or sibling.

メッセージ Cannot anchor to an item that isn't a parent or sibling. 翻訳 親や兄弟ではない項目には固定できません。 原因 アンカー先が直接の親または兄弟でないため。 anchors.right: parent.parent.right 対処 アンカー先を直接の親または兄弟に変更…

mailx コマンドでメールを送信すると "Unexpected EOF on SMTP connection" が表示される

詳細 Heirloom mailx の mailx コマンドでメールを送信すると、次のメッセージが表示されて送信に失敗する。 Unexpected EOF on SMTP connection "/home/ubuntu/dead.letter" 1/1 . . . message not sent. 原因 .mailrc の set smtp=... の URL にスキーム (…

conversion from 'QByteArray' to 'char*' is ambiguous

コード QByteArray byteArray; QDataStream dataStream; dataStream.readRawData(byteArray, byteArray.capacity()); エラー conversion from 'QByteArray' to 'char*' is ambiguous 解決策 readRawData の第1引数に QByteArray::data() を渡す。 dataStrea…

QDataStream & QDataStream::readBytes(char *& s, uint & l)

ストリームからバッファー s へ読み込み、ストリームへの参照を返します。 バッファー s は、new を使ってアロケートされます。破棄には、delete[] オペレーターを付けてください。 l パラメーターには、バッファーの長さをセットしてください。文字列が空の…

エラー: デバッガ ”C:\android-ndk-r11c\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gdb.exe" が見つかりませんでした。

問題 Android NDK パスに、 Android NDK r11c へのパスを設定すると、"Android for armeabi-v7a (GCC 4.9, Qt 5.6.0)" キットに(!)マークが表示される。 チップに次のメッセージが表示される。 エラー: デバッガ ”C:\android-ndk-r11c\toolchains\arm-lin…

error: invalid environment block

OS 起動時に次のエラーが表示される。ただし、OS は起動する。 error: invalid environment block 環境 Ubuntu 14.04 LTS x86_64 VMware Player 7.1.4 build-3848939 原因 /boot/grub/grubenv が壊れているらしい。 解決策 /boot/grub/grubenv を削除する。…

Object::connect: No such slot QTcpSocket::onReadyRead() in ../project/source.cpp:6

Qt

問題 アプリケーション実行中に次のようなメッセージが表示される。 Object::connect: No such slot QTcpSocket::onReadyRead() in ../project/source.cpp:6 原因 クラス定義に "Q_OBJECT" を書いていなかったため。 解決策 クラス定義に "Q_OBJECT" を書く…

PREFERRED_VERSION

レシピの複数のバージョンが利用可能である場合、この変数は優先されるべきレシピを決定します。あなたはいつもあなたが選択したい PN で変数をサフィックスする必要があり、優先順位のためにそれに応じて PV を設定する必要があります。あなたは、潜在的に…

DEFAULT_PREFERENCE

レシピ選択の優先順位のための弱いバイアスを指定します。 この変数の最も一般的な使い方は、ソフトウェアの一部の開発バージョンのためのレシピの中に "-1" に設定することです。 このように変数を使うと、PREFERRED_VERSION が無い場合に、デフォルトで構…

MPEG1/2 does not support 15/1 fps

問題 mpeg1video で出力すると、次のエラーメッセージが表示されて失敗する。 [mpeg1video @ ...] MPEG1/2 does not support 15/1 fps ... Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width…

fatal: error in sideband demultiplexer

Git

直訳 致命的: sideband demultiplexer でエラー sideband : サイドバンド、側波帯 demultiplexer : デマルチプレクサ、分離器 何のこっちゃ?

create: CreateWindowEx failed (指定されたモジュールが見つかりません。)

エラーメッセージ create: CreateWindowEx failed (指定されたモジュールが見つかりません。) プログラムが突然終了しました。 原因 QQuickView の親に指定した QWindow オブジェクトの show() を一度も実行していなかったため。 環境 Qt 5.3.2 for Windows

Animation::stopped()

QML

stopped() このシグナルはアニメーションが終了した時に発行されます。 アニメーションは、手動で停止されたか、完了しています。 それは、トップレベル、スタンドアロンなアニメーション向けにのみトリガーされます。それは Behavior や Transition、アニメ…

Bluetooth API における REMEMBERED と AUTHENTICATED の違い

c++ - Bluetooth Programming with Windows Sockets - Device in range - Stack Overflow より Those flags aren't mutually exclusive - a device may be all three or none. これらのフラグは、排他ではありません。 - デバイスは、三つすべて無しであって…

レジストリーのキー名の最大サイズは 255 文字

https://support.microsoft.com/ja-jp/kb/256986 より キー名の最大サイズは、255 文字です。

DWORD 型を LPCTSTR 型へ変換する

#include <tchar.h> ... TCHAR lptstr[33]; _itot(dword, lptstr, 10); LPCTSTR p = (LPCTSTR)lptstr;</tchar.h>

MinGW で .cpl (.dll) をリンクする

-l オプションで指示する。この時、拡張子は除く。 Bthprops.cpl をリンクする場合: gcc ... -lBthprops

ASSERT failure in QList<T>::operator[]: "index out of range", file C:/Qt/Qt5.3.2/5.3/mingw482_32/include/QtCore/qlist.h, line 487

問題 アプリケーションが次のエラーで終了する。 ASSERT failure in QList<T>::operator[]: "index out of range", file C:/Qt/Qt5.3.2/5.3/mingw482_32/include/QtCore/qlist.h, line 487 Invalid parameter passed to C runtime function. Invalid parameter </t>…

ASSERT: "!newInterval._ranges.isEmpty()" in file compiler\qv4ssa.cpp, line 3780

問題 アプリケーションが QML ロード時に下記のエラーで終了する。 ASSERT: "!newInterval._ranges.isEmpty()" in file compiler\qv4ssa.cpp, line 3780 Invalid parameter passed to C runtime function. Invalid parameter passed to C runtime function. …

Qt 5 for Windows でファイルをデプロイする方法

プロジェクト (.pro) ファイルに次の行を書く。 {任意の識別名}.path = $$OUT_PWD/{デプロイ先フォルダー} {任意の識別名}.files = ./{デプロイ元フォルダー}/* INSTALLS += {任意の識別名} 例: pictures.path = $$OUT_PWD/pictures pictures.files = ./pic…

Windows から git プロトコルで push するとハングアップする

環境 Windows 7 Professional 64-bit Git for Windows 2.8.1 64-bit 解決策 $ git config sendpack.sideband false 原因 仕様らしい。 d.hatena.ne.jp 参考文献 How to fix Windows 7 64 Bit git push msysgit hang up Problem | Daily Development

Windows で Git bash を利用して qmldir を作るコマンド

$ cd path/to/qml $ ls *.qml | sed -e "s/\(.*\).qml$/\1 \1.qml\r/g" > qmldir

QByteArray QString::toLocal8Bit() const

Returns the local 8-bit representation of the string as a QByteArray. The returned byte array is undefined if the string contains characters not supported by the local 8-bit encoding. 文字列をローカルの 8 ビットで表した QByteArray を返しま…