【问题标题】:Compiling a Qt based NPAPI Browser Plugin on Windows在 Windows 上编译基于 Qt 的 NPAPI 浏览器插件
【发布时间】:2011-04-05 18:58:29
【问题描述】:

我正在进一步开发 Qt 中的 NPAPI 插件。我得到了插件的源代码和预编译的 Windows (DLL) 版本。我添加了一些功能并尝试使用 Qt Creator 的默认构建过程对其进行编译。在我编辑的案例以及原始案例中,编译在 Windows 和 linux 上运行良好。问题是,插件本身只能在 linux 机器上使用。在 Windows (XP SP3) 上提到了一个错误,即我的特定可编写脚本的方法不存在。在 Windows 上编译是否有特殊的方法或工具链?或者有没有办法定位故障?

感谢期待!

【问题讨论】:

  • 目前,它说:错误:[异常...“失败”nsresult:“0x80004005(NS_ERROR_FAILURE)”位置:“JS框架::文件:///.../Tests/cross -site.js :: :: line 108" 数据:无]
  • 这很奇怪......这听起来与插件无关。我从未使用过 QT,但我是 FireBreath 的主要维护者 (firebreath.org);从未见过这样的错误。它是否出现在 about:plugins 中?
  • 是的,确实如此!这个错误对我来说也是新的。找不到它,但同一个插件已经在 FF4 中运行,并且在 FF3 中持续运行。然后提到的错误说找不到可编写脚本的函数(viewConfig 和 request),但是在 linux 下编译和运行源代码时可以找到。

标签: windows linux firefox compilation npapi


【解决方案1】:

这里有一些事情需要检查和尝试:

  1. 在NPP_New中设置断点(你得在QT的框架里找,不知道在哪里);逐步检查直到发现问题
  2. 确保 NPP_GetValue 根据请求返回一个 NPObject;如果没有,那么您肯定不会获得任何脚本 API
  3. 确保 QT 的框架没有仍在尝试使用 XPCOM 编写脚本。

【讨论】:

    猜你喜欢
    • 2012-01-29
    • 2011-03-06
    • 2011-09-02
    • 2015-08-28
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多