是什么导致“找不到QtWebEngineProcess”错误?

问题描述

我正尝试将WebKit(Qt5.5.1)插件移植到WebEngine(Qt5.11.3),如下所述:https://doc.qt.io/qt-5/qtwebenginewidgets-qtwebkitportingguide.html 在Ubuntu 18.04中构建和运行时出现以下错误

QXcbIntegration: Cannot create platform OpenGL context,neither GLX nor EGL are enabled

然后

Could not find QtWebEngineProcess

我不确定第一个与第二个是否相关,但是第二个会导致崩溃。

编辑: 我将QtWebEngineProcess从Qt/libexec目录放入带有二进制文件的目录,现在第二个错误更改为:

WebEngineContext used before initialize() or OpenGL context creation Failed.

仍然崩溃。

解决方法

问题出在缺少的依赖文件中。

我们的cmake构建仅将自动确定的依赖项(lib)从Qt文件夹复制到app文件夹。但是,对于完整部署,QtWebEngine应用程序几乎不需要非库依赖项,例如QtWebEngineProcess可执行xcbglintegrations插件(第一个错误)和WebEngine资源。该说明https://doc.qt.io/qt-5/qtwebengine-deploying.html包含大部分详细信息。

它对Qt5.12.9有用。有了Qt5.11.3,我仍然遇到一些问题。