我有一个简单的C++ (非QtQuick)应用程序(不使用.pro机制),它是针对官方QT5.4.2 x64构建构建的(有openGL支持)。一旦我在我的应用程序中使用了QWebEngineView对象,它就无法装载一条消息“找不到指定的过程”。
在g阻击的帮助下,它似乎找不到以下被蒙蔽的过程:
public: __cdecl QOpenGLWidget::QOpenGLWidget(class QWidget * __ptr64,class QFlags<enum Qt::WindowType>) __ptr64我不知道为什么找不到这一点,为了测试应用程序旁边的Qt_DIR\bin中的所有all,以及所有插件,我已经把它放在这里了。用于构建应用程序的预处理程序列表如下:
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\5.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 3.6.1中尝试一个简单的例子,但它抱怨:项目错误: QT: webenginewidget中的未知模块
browser.exe示例运行良好(使用visual studio构建)
你知道怎么回事吗?PS:我在windows 8.1上。
发布于 2016-04-22 14:47:34
对于未找到的过程,我的dll是未使用opengl支持构建的Qt应用程序的插件。只有我的dll是用opengl支持构建的。初始化插件时,应用程序使用自己的dll,而不是地雷.因此无法对web引擎提供任何opengl支持。
对于Qt,它自动选择了一个错误的工具包。我必须创建一个新的工具包,它映射到正确的Qt二进制文件(在opengl支持下):下面是:http://doc.qt.io/qtcreator/creator-configuring-projects.html。
希望它能帮到别人
https://stackoverflow.com/questions/36779331
复制相似问题