我正在尝试在Win-XP和VS 2008下编译NPAPI插件。
当我尝试使用nsScriptablePeer.obj : error LNK2019: unresolved external symbol _NPN_Evaluate referenced in function
调用javascript函数时,它给出了NPN_Evaluate
错误。我已将xulrunner-sdk / lib和xullrunner-sdk / sdk / lib中的所有库添加到其他库目录中。是否需要包含任何其他库才能使用NPN_Evaluate
函数?
答案 0 :(得分:3)
以NPN_
开头的函数只能通过初始化NP_Initialize
阶段传递的指针访问。我已经被这种情况所困扰,我决定记录一下here。
换句话说,您不必链接库但,您必须在NP_Initialize调用插件期间捕获指向NPN浏览器函数的指针。
答案 1 :(得分:1)
您可以在此处找到npapi插件的简要概述: http://colonelpanic.net/2009/03/building-a-firefox-plugin-part-one/
它有点脱节,但我的目标是回答NPAPI中一些未解释清楚的部分,就像你遇到的那部分=]
很明显,如果您使用的是nsScriptablePeer,那么您使用的是仍然使用XPCOM而不是NPObjects的过时示例。在未来的firefox版本中将不再支持XPCOM(我认为从3.6开始)
更多关于此问题:http://colonelpanic.net/2009/08/building-a-firefox-plugin-%E2%80%93-part-three/