FireFox的plugin demo npruntime太难编译了,上次研究FireFox plugin时就没编译成功,这次总算编译成功了,记录下,避免忘记了又要折腾。

参考资料:
【原创】我的Firefox插件开发之旅(5)——编译和测试第一个Plugin例子:npruntime
Compiling The npruntime Sample Plugin in Visual Studio

npruntime的源码我是取自mozilla-2.0的源码包,具体目录是:mozilla-2.0\modules\plugin\sdk\samples\npruntime
Gecko SDK即xulrunner-sdk,我下载的是最新的xulrunner-7.0.1.en-US.win32.sdk.zip,具体可以到https://developer.mozilla.org/en/Gecko_SDK下载。

按照上面两个参考资料的方法做大体是对的,这里编译出了两个问题。一个是printf未定义,在plugin.cpp的XP_WIN条件编译段加入#include <stdio.h>即可。另一个是由于npapi.h中有未知类型导致的大段错误,在npapi.h的#elif defined(XP_WIN)条件编译段加入#include <stddef.h>即可。

补充资料:Windows下的Firefox plugins开发的N个坑