工作需要,好不容易编译过了。其实这个已经很古老了,貌似最新的版本已经不支持。
- 下载sdk
https://developer.mozilla.org/en-US/docs/Mozilla/Gecko/Gecko_SDK
注意,必须下载xulrunner-1.9.0.17.en-US.linux-i686.sdk.tar.bz2。别的都编译不过。
- 下载npruntime
https://dxr.mozilla.org/seamonkey/source/modules/plugin/samples/npruntime/
注意:每个源码打开,选择内容复制,再粘贴到本地的文件。
- 编译
XULRUNNER=${HOME}/xulrunner-sdk-1.9
g++ -shared \
np_entry.cpp npp_gate.cpp npn_gate.cpp plugin.cpp \
-I ${XULRUNNER}/include \
-I ${XULRUNNER}/include/java \
-I ${XULRUNNER}/include/nspr \
-I ${XULRUNNER}/include/plugin \
-o libnprt.so
错误解决办法:
- 在plugin.h增加几个include:
#include <cstddef> #include <string.h> #include <stdlib.h> #include <stdio.h>
- npp_gate.cpp:264:1: error: ‘jref’ does not name a type
注释之。