这个问题是在运行youdao-dict时遇到的
首先打开QT调试开关
export QT_DEBUG_PLUGINS=1
再次运行得到以下输出:
QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/mediaservice" ...
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/mediaservice" ...
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
提示找不到mediaservice
打开qt5的目录一看,发现在这个目录:
/usr/lib/x86_64-linux-gnu/qt5/plugins/mediaservice
建个软链接,完事。
ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/mediaservice /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/mediaservice
另外,如果遇到下面报错也是类似的,这次是xcbglintegrations插件
QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enable
ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/xcbglintegrations
参考资料
解决QT no service found for – org.qt-project.qt.mediaplayer问题
linux qt “QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enable“