Parentheses expected, signal

問題

ビルド時に次のエラーが発生する。

コード

connect(this, SIGNAL(trigger), this, SLOT(onTrigger));

エラー

Object::connect: Parentheses expected, signal <クラス名>::<シグナル名> in ..\<ファイル名>:<行番号>

Object::connect: 丸括弧が予期される, signal <クラス名>::<シグナル名> in ..\<ファイル名>:<行番号>
原因

シグナル名/スロット名の後ろに丸括弧を書いていないため。

解決方法

シグナル名/スロット名の後ろに丸括弧を書く。

connect(this, SIGNAL(trigger()), this, SLOT(onTrigger()));

void value not ignored as it ought to be

問題

コンパイル時に次のエラーが発生する。

コード

void(*p)() = hello();

エラー

error: void value not ignored as it ought to be

エラー: void 値が無視されていない
原因

関数名の後に括弧を書いていたため。

解決方法

括弧を削除する。

void(*p)() = hello;

meta-toolchain-qt5 のビルドが失敗する

問題

meta-toolchain-qt5 をビルドすると、次のエラーが発生する。

.../git/src/hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.cpp: In member function 'virtual void XCompositeEglClientBufferIntegration::bindTextureToBuffer(wl_resource*)':
.../git/src/hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.cpp:117:97: error: invalid conversion from 'Pixmap {aka long unsigned int}' to 'EGLNativePixmapType {aka void*}' [-fpermissive]
     EGLSurface surface = eglCreatePixmapSurface(mEglDisplay,config,pixmap,attribList.constData());
                                                                                                 ^
In file included from .../git/src/hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.h:48:0,
                 from .../git/src/hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.cpp:41:
/home/ubuntu/build/fsl-community-bsp/stec_build/tmp/sysroots/imx53-stec/usr/include/EGL/egl.h:275:31: error:   initializing argument 3 of 'void* eglCreatePixmapSurface(EGLDisplay, EGLConfig, EGLNativePixmapType, const EGLint*)' [-fpermissive]
 EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config,
...
make[5]: *** [.obj/xcompositeeglintegration.o] Error 1
...
make[4]: *** [sub-xcomposite-egl-make_first] Error 2
...
make[3]: *** [sub-compositor-make_first] Error 2
...
make[2]: *** [sub-hardwareintegration-make_first] Error 2
...
make[1]: *** [sub-plugins-make_first-ordered] Error 2
...
make: *** [sub-src-make_first] Error 2
ERROR: oe_runmake failed
WARNING: exit code 1 from a shell command.
ERROR: Function failed: do_compile (log file is located at .../temp/log.do_compile)
環境
  • Yocto 1.6.2 (daisy)
  • meta-qt5 (daisy, commit 23405d3a66c308e0b2ea64308b834285850c5c9f)
解決方法

wayland を使わないなら、local.conf に次の行を追加する。

DISTRO_FEATURES_remove = "wayland"

qtbase のビルドが失敗する

問題

“qtbase” をビルドすると、次のエラーが発生する。

.../src/plugins/platforms/xcb/qxcbconnection.cpp: In constructor 'QXcbConnection::QXcbConnection(QXcbNativeInterface*, bool, const char*)':
.../src/plugins/platforms/xcb/qxcbconnection.cpp:280:45: error: invalid conversion from 'EGLNativeDisplayType {aka void*}' to 'Display* {aka _XDisplay*}' [-fpermissive]
         m_connection = XGetXCBConnection(dpy);
                                             ^
In file included from .../src/plugins/platforms/xcb/qxcbconnection.cpp:72:0:
.../usr/include/X11/Xlib-xcb.h:13:19: error:   initializing argument 1 of 'xcb_connection_t* XGetXCBConnection(Display*)' [-fpermissive]
 xcb_connection_t *XGetXCBConnection(Display *dpy);
                   ^
.../src/plugins/platforms/xcb/qxcbconnection.cpp:281:51: error: invalid conversion from 'EGLNativeDisplayType {aka void*}' to 'Display* {aka _XDisplay*}' [-fpermissive]
         XSetEventQueueOwner(dpy, XCBOwnsEventQueue);
                                                   ^
In file included from .../src/plugins/platforms/xcb/qxcbconnection.cpp:72:0:
.../usr/include/X11/Xlib-xcb.h:16:6: error:   initializing argument 1 of 'void XSetEventQueueOwner(Display*, XEventQueueOwner)' [-fpermissive]
 void XSetEventQueueOwner(Display *dpy, enum XEventQueueOwner owner);
      ^
...
make[5]: *** [.obj/qxcbconnection.o] Error 1
make[5]: *** Waiting for unfinished jobs....
......
make[4]: *** [sub-xcb-plugin-pro-make_first-ordered] Error 2
...
make[3]: *** [sub-xcb-make_first] Error 2
...
make[2]: *** [sub-platforms-make_first] Error 2
...
make[1]: *** [sub-plugins-make_first] Error 2
...
make: *** [sub-src-make_first] Error 2
ERROR: oe_runmake failed
WARNING: exit code 1 from a shell command.
ERROR: Function failed: do_compile (log file is located at .../temp/log.do_compile)
環境
  • Yocto 1.6.2 (daisy)
  • meta-qt5 (daisy, commit 23405d3a66c308e0b2ea64308b834285850c5c9f)
解決方法

qtbase レシピに次の行を加える。

PACKAGECONFIG_remove = "xcb"
参考文献

ERROR: 0:9: 'out' : syntax error syntax error

OpenGL プログラム実行時に次のメッセージが表示される。

ERROR: 0:9: 'out' : syntax error syntax error
コード
out vec4 fragColor;
...
fragColor = color;
原因

GLSL のバージョンが 1.3 未満のため。
‘out’ 修飾子は存在せず、出力変数は固定されているため。

解決方法

‘fragColor’ の代わりに ‘gl_FragColor’ を使う。

gl_FragColor = color;

ERROR: 0:6: 'in' : syntax error syntax error

OpenGL プログラム実行時に次のメッセージが表示される。

ERROR: 0:6: 'in' : syntax error syntax error
原因

GLSL のバージョンが 1.3 未満のため。

解決方法

‘in’ の代わりに ‘attribute’ を使う。

Shuriken で「名前(CN)が一致しません」と表示される

問題

メールチェック時に次のメッセージが表示される。

・名前(CN)が一致しません。

f:id:renkin3q:20170510131708j:plain

原因
解決方法

メールサーバーの名前にレンタルサーバーの名前を設定する。

メールサーバーの IP アドレスを調べる。

> ping mail.mydomain.com
mail.mydomain.com [192.168.0.1] ...

IP アドレスからレンタルサーバーの名前を調べる。

> ping -a 192.168.0.1
server.rental.com [192.168.0.1] ...

アカウント設定の[受信(POP3)サーバーの名前]の設定値をレンタルサーバーの名前に変更する。

server.rental.com
参考文献