2016-04-21 129 views
2

我有一個簡單的C + +(非Qt快速)應用程序(不使用.pro機制)的官方Qt 5.4.2 x64構建(與OpenGL支持)構建。 只要我在我的應用程序中使用QWebEngineView對象,它將無法加載消息「指定的過程找不到」。QtWebEngine - 程序沒有找到

隨着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\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 Creator的3.6.1一個簡單的例子,但它抱怨:項目錯誤:未知模塊(收費)QT:webenginewidgets

的browser.exe例如運行正常(內置與Visual Studio)

你有任何想法哪裏不對? PS:我在Windows 8.1上。

+1

最後,我要的是登錄到谷歌的背面使用OAuth 2結束,所以我需要顯示的瀏覽器將詢問用戶,以便檢索訪問令牌登錄。如果你知道在Qt中這樣做的另一種方式,我很開放:) – Jon

回答

1

對於未找到的過程,我的dll是一個Qt應用程序的插件,它不是用opengl支持構建的。只有我的DLL是用opengl支持構建的。 當初始化插件時,應用程序使用自己的dll而不是我的...因此沒有任何對web引擎的opengl支持。

對於Qt Creator,它會自動選擇一個錯誤的工具包。我必須創建一個映射到正確的Qt二進制文件(使用opengl支持)的新工具包:請按照以下步驟操作:http://doc.qt.io/qtcreator/creator-configuring-projects.html

希望這將幫助別人