切换到使用GeckoSDK 1.9.1后,插件在Linux上停止工作

时间:2011-02-25 00:10:26

标签: firefox plugins npapi npruntime

我有一个插件,当我将它与GeckoSDK 1.9链接时效果很好。

现在我转而使用GeckoSDK 1.9.1.16,它在Linux上停止被检测到(在Windows上它仍能正常工作) - 关于:插件不再显示它了!

除了在makefile中切换INCLUDE / LIB目录,并重命名nppupp.h - >之外,没有其他更改。 npfunctions.h。

我使用Firefox 3.5,3.6和4.0 beta测试了它 - 结果相同。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果它是原始NPAPI插件,我建议使用npapi-headers项目,该项目提供适用于所有浏览器和所有平台的标头。来自gecko-sdk的npapi标题偶尔会给我带来麻烦。我说这至少值得一试。

答案 1 :(得分:1)

好的,如果有人有兴趣,我会回答我自己的问题。

事实证明他们不只是重命名npupp.h - > npfunctions.h,但不知何故重新排列了标题。

结果,在定义XP_UNIX之前(在prcpucfg.h中)包含了npfunctions.h,这反过来导致我的代码中的npentry函数(NP_GetMIMEDescription等)被定义而没有事先声明,因此具有C ++链接,因此浏览器找不到它。

Hello Mozilla,自带的标题是什么?