C++ 如何编译qtwebkit插件?

C++ 如何编译qtwebkit插件?,c++,qt,mingw,qtwebkit,qwebview,C++,Qt,Mingw,Qtwebkit,Qwebview,是一个为QWebView提供功能的库,例如和 了解: 我试图在Windows中编译代码,但我的QWebView没有按预期工作,换句话说,没有工作。就像我没有使用QtWebkit插件一样。哪一种可能 在说明编译的文档中,我必须运行: $ qmake $ make && make install 阅读更多 我使用的是mingw,而不是make,我使用的是mingw32 make: 我编译了hunspell 已为C:\Qt5.4.0\5.4\mingw491\u 32\bi

是一个为
QWebView
提供功能的库,例如和

了解:

我试图在Windows中编译代码,但我的
QWebView
没有按预期工作,换句话说,没有工作。就像我没有使用
QtWebkit插件一样。哪一种可能

在说明编译的文档中,我必须运行:

$ qmake
$ make && make install
阅读更多

我使用的是
mingw
,而不是
make
,我使用的是
mingw32 make

  • 我编译了
    hunspell
  • 已为
    C:\Qt5.4.0\5.4\mingw491\u 32\bin
    C:\Qt5.4.0\5.4\mingw491\u 32\lib复制
  • 我在cmd中编译了qtwebkit插件:

    qmake
    mingw32-make && mingw32-make install
    
  • mingw32 make
    生成
    libqtwebkitpluginsd.a
    qtwebkitplugins.dll

  • C:\Qt5.4.0\5.4\mingw491\u 32\lib复制了
    libqtwebkitpluginsd.a
  • 复制了
    C:\Qt5.4.0\5.4\mingw491\u 32\plugins\webkit
    C:\Qt5.4.0\5.4\mingw491\u 32\bin的
    qtwebkitplugins.dll
在那之后,我编译了另一个使用
QWebView
的简单项目,然后在
中测试了
拼写检查
,但没有成功

我测试了测试结果,但也不起作用

注意:当使用
QT\u DEBUG\u PLUGINS=1运行我的项目并在应用程序输出选项卡(在QtCreator中)中使用时,返回:

在我看来,
dll
已加载,只是无法工作

我的项目如何使用这些功能?

对于QT-5.2+中的这项工作,需要修改
qwebkitflatformplugin.h
文件

更改此项:

QT_BEGIN_NAMESPACE
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "com.nokia.Qt.WebKit.PlatformPlugin/1.9");
据此:

QT_BEGIN_NAMESPACE
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin,
    "org.qt-project.Qt.WebKit.PlatformPlugin/1.9");
如果需要与QT-4.8兼容,请更改代码:

QT_BEGIN_NAMESPACE
#if QT_VERSION >= 0x050200
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "org.qt-project.Qt.WebKit.PlatformPlugin/1.9")
#else
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "com.nokia.Qt.WebKit.PlatformPlugin/1.9")
#endif
QT_END_NAMESPACE

感谢您在这里提供了来之不易的知识,也感谢(我现在明白了)为github回购提供了此修复!这给了我新的希望,我将能够得到这在我自己的应用程序工作。我正在寻找关于需要做什么才能使拼写检查真正起作用的进一步文档,不幸的是,这里似乎没有足够的细节来说明这一点。我在谷歌缓存中发现了一些有趣的信息,你问了17631200个问题,似乎已经删除了。如果你能提供一个小样本,说明你需要在一个简单的网络视图中添加什么才能让它正常工作,那会很有帮助。如果插件是在“Fancy Browser”Qt示例中加载的,那么它目前至少没有任何作用。@我正在创建一个包含完整使用示例的存储库。拼写检查器几乎已经完成(包括菜单建议),只缺少构建
通知web api
:)谢谢取消删除:您可能还想看看对qupzilla进行的几个拼写检查修复,因为它们集成了该插件。如果我有时间的话,我可能会尝试将这些修复返回到插件中,但是它们也包含了一些qupzilla的东西,所以可能需要做一些工作。GitHub目前不支持通过commit messages()进行搜索,所以我不得不使用gitk进行搜索。谢谢你在这方面的工作-我期待着看到你提到的回购协议。在我看来,它在
qupzilla
中的方式非常复杂,维护也非常困难。我没有创建插件,而是使用扩展
QApplication
来更改字典和其他webkit插件数据,并将
speller.cpp
移动到另一个位置,以便在应用程序中与这两个插件一起使用。但还是有点混乱。:)谢谢
QT_BEGIN_NAMESPACE
#if QT_VERSION >= 0x050200
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "org.qt-project.Qt.WebKit.PlatformPlugin/1.9")
#else
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "com.nokia.Qt.WebKit.PlatformPlugin/1.9")
#endif
QT_END_NAMESPACE