我有一个简单的C++(非Qt Quick)应用程序(不使用.pro机制)构建,这是针对官方Qt 5.4.2 x64构建(支持openGL)构建的。一旦我在应用程序中使用 QWebEngineView 对象,它就无法加载并显示消息"找不到指定的过程"。
在gflags的帮助下,它似乎找不到以下拆卸程序:
public: __cdecl QOpenGLWidget::QOpenGLWidget(class QWidget * __ptr64,class QFlags<enum Qt::WindowType>) __ptr64
我不确定为什么找不到它,为了测试应用程序旁边的 Qt_DIR\bin 中的所有 dll,以及所有插件,我把。我用于构建应用的预处理器列表如下所示:
WIN32;_DEBUG;_WINDOWS;_USRDLL;WIN64;QT_WEBENGINEWIDGETS_LIB;QT_WEBENGINE_LIB;QT_QUICK_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_QML_LIB;QT_NETWORK_LIB;QT_UITOOLS_LIB;QT_CORE_LIB;WIN32PROJECT5_EXPORTS;PLUGIN_VENDOR_NAME="$(VendorName)";PLUGIN_VERSION="$(PluginVersion)";PLUGIN_NAME="$(PluginName)";%(PreprocessorDefinitions)
和输入库:
Qt5Cored.lib;Qt5Guid.lib;Qt5Widgetsd.lib;Qt5WebKitd.lib;Qt5WebKitWidgetsd.lib;Qt5WebEngineWidgetsd.lib;Qt5WebEngined.lib;Qt5OpenGLExtensionsd.lib;Qt5OpenGLd.lib;Qt5Networkd.lib;Qt5Xmld.lib;D:NotBackedUpToolsQt5.4msvc2013_64_opengllibqtmaind.lib;shell32.lib;Qt5Quickd.lib;Qt5PrintSupportd.lib;Qt5Qmld.lib;Qt5UiToolsd.lib;glu32.lib;opengl32.lib;gdi32.lib;user32.lib;o2d.lib;%(AdditionalDependencies)
我想在Qt Creator 3.6.1中尝试一个简单的例子,但它抱怨:项目错误:QT中的未知模块:webenginewidgets
浏览器.exe示例运行良好(使用Visual Studio构建)
你知道出了什么问题吗?PS:我在Windows 8.1上。
对于未找到的过程,我的dll是Qt应用程序的插件,它不是使用opengl支持构建的。只有我的 dll 是用 opengl 支持构建的。初始化插件时,应用程序使用自己的 dll 而不是我的......因此无法对 Web 引擎提供任何 OpenGL 支持。
对于Qt Creator,它会自动选择错误的套件。我必须创建一个映射到正确的Qt二进制文件(支持opengl)的新工具包:遵循以下内容:http://doc.qt.io/qtcreator/creator-configuring-projects.html。
希望它能帮助某人