我有一个插件,当我将它与GeckoSDK 1.9链接时,它工作得很好。
现在我切换到使用GeckoSDK 1.9.1.16,它在Linux上不再被检测到(在Windows上它仍然工作得很好)-关于:插件不再显示它了!
除了切换生成文件中的包含/LIB目录并将nppupp.h重命名为-> npfunctions.h之外,没有其他更改。
我用火狐3.5,3.6和4.0测试版测试了它--结果是一样的。
有什么想法吗?
发布于 2011-02-26 11:49:17
好吧,如果有人感兴趣,我会回答我自己的问题。
事实证明,他们不仅将npupp.h重命名为-> npfunctions.h,还以某种方式重新排列了报头。
因此,在定义npfunctions.h之前(在prcpucfg.h中)包含了npfunctions.h,这反过来导致我的代码中的npentry函数(NP_GetMIMEDescription等)在没有事先声明的情况下被定义,因此具有C++链接,因此浏览器找不到它。
你好Mozilla,自包含的头是怎么回事?
发布于 2011-02-25 09:19:12
如果它是一个原始的NPAPI插件,我会推荐使用npapi-headers项目,它提供了可以在所有浏览器和所有平台上工作的头文件。来自gecko-sdk的npapi头文件偶尔会给我带来问题。我想说至少值得一试。
https://stackoverflow.com/questions/5112149
复制相似问题