QtWebEngine - 找不到程序
QtWebEngine - procedure not found
我有一个简单的 C++(非 Qt Quick)应用程序(不使用 .pro 机制)针对官方 Qt 5.4.2 x64 构建(具有 openGL 支持)构建。
一旦我在我的应用程序中使用 QWebEngineView 对象,它就无法加载消息 "Specified procedure could not be found".
在gflags的帮助下,似乎找不到下面的demangled程序:
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:\NotBackedUp\Tools\Qt.4\msvc2013_64_opengl\lib\qtmaind.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
browser.exe 示例运行良好(使用 visual studio 构建)
你知道哪里出了问题吗?
PS:我在 windows 8.1.
对于未找到的程序,我的 dll 是一个不支持 opengl 的 Qt 应用程序的插件。只有我的 dll 是用 opengl 支持构建的。
初始化插件时,应用程序使用自己的 dll 而不是我的...因此无法为 Web 引擎提供任何 opengl 支持。
对于 Qt Creator,它自动选择了错误的工具包。我必须创建一个映射到正确的 Qt 二进制文件(支持 opengl)的新工具包:遵循这个:http://doc.qt.io/qtcreator/creator-configuring-projects.html.
希望对大家有所帮助
我有一个简单的 C++(非 Qt Quick)应用程序(不使用 .pro 机制)针对官方 Qt 5.4.2 x64 构建(具有 openGL 支持)构建。 一旦我在我的应用程序中使用 QWebEngineView 对象,它就无法加载消息 "Specified procedure could not be found".
在gflags的帮助下,似乎找不到下面的demangled程序:
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:\NotBackedUp\Tools\Qt.4\msvc2013_64_opengl\lib\qtmaind.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
browser.exe 示例运行良好(使用 visual studio 构建)
你知道哪里出了问题吗? PS:我在 windows 8.1.
对于未找到的程序,我的 dll 是一个不支持 opengl 的 Qt 应用程序的插件。只有我的 dll 是用 opengl 支持构建的。 初始化插件时,应用程序使用自己的 dll 而不是我的...因此无法为 Web 引擎提供任何 opengl 支持。
对于 Qt Creator,它自动选择了错误的工具包。我必须创建一个映射到正确的 Qt 二进制文件(支持 opengl)的新工具包:遵循这个:http://doc.qt.io/qtcreator/creator-configuring-projects.html.
希望对大家有所帮助