samedi 7 mars 2015

How to compile qtwebkit plugins?


QtWebkit-plugins is a library that provides features to the QWebView, eg SpellCheck and Notification Web API .



Read about:




I tried to compile the code in Windows, but my QWebView not working as expected, in other words, SpellCheck and Notification Web API not working. It's like I've been not-using QtWebkit-plugins. Which can be?


In the documentation that says to compile I have to run:



$ qmake
$ make && make install


Read more in QtWebkit-plugins repository


But I read on another issue (here in StackOverflow) that when I use the MingW I do not need to use qmake, so I tried to do the step-by-step to compile:



  • I compiled hunspell

  • Copied hunspell for C:\Qt5.4.0\5.4\mingw491_32\bin and C:\Qt5.4.0\5.4\mingw491_32\lib

  • Compiled the qtwebkit-plugins.pro project (clicked in Build on QtCreator)

  • The Build generates libqtwebkitpluginsd.a and qtwebkitplugins.dll

  • Copied libqtwebkitpluginsd.a for C:\Qt5.4.0\5.4\mingw491_32\lib

  • Copied qtwebkitplugins.dll for C:\Qt5.4.0\5.4\mingw491_32\plugins\webkit and C:\Qt5.4.0\5.4\mingw491_32\bin


After that I compiled another simple project that uses QWebView then tested the SpellCheck in a <textarea spellcheck="true"></textarea> and did not work.


I tested the Notification Web API and also did not work.


Note: When running my project using QT_DEBUG_PLUGINS=1 and use Notification Web API the application output tab (in QtCreator) returns:



Found metadata in lib C:/Qt5.4.0/5.4/mingw491_32/plugins/webkit/qtwebkitplugins.dll, metadata=
{
"IID": "org.qtwebkit.QtWebKit.QtWebKitPlugin",
"MetaData": {
},
"className": "QtWebKitPlugin",
"debug": false,
"version": 328704
}


loaded library "C:/Qt5.4.0/5.4/mingw491_32/plugins/webkit/qtwebkitplugins.dll"
QLibraryPrivate::unload succeeded on "C:/Qt5.4.0/5.4/mingw491_32/plugins/webkit/qtwebkitplugins.dll"
QSystemTrayIcon::setVisible: No Icon set


It seems to me that the dll is loaded, it just is not working.


How do my projects work these features?




Aucun commentaire:

Enregistrer un commentaire