LINUX开发FIREFOX的插件:编译npruntime

简介: LINUX开发FIREFOX的插件:编译npruntime

  工作需要,好不容易编译过了。其实这个已经很古老了,貌似最新的版本已经不支持。

  • 下载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

注释之。

目录
相关文章
|
29天前
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
|
2月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
110 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
2月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
1月前
|
Linux
Linux - 如何编译源码安装软件
源码编译安装通常包括三个步骤:1) `./configure` 检测平台特征和依赖项,生成 Makefile;2) `make` 编译源码,生成可执行文件;3) `make install` 将可执行文件安装到指定目录并配置环境变量。
49 0
|
2月前
|
Linux 编译器 C语言
Linux c/c++之多文档编译
这篇文章介绍了在Linux操作系统下使用gcc编译器进行C/C++多文件编译的方法和步骤。
45 0
Linux c/c++之多文档编译
|
2月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
4月前
|
监控 机器人 Unix
GoLand——windows下如何编译Linux二进制文件
GoLand——windows下如何编译Linux二进制文件
64 1
GoLand——windows下如何编译Linux二进制文件
|
3月前
|
Linux
用clang编译Linux内核
用clang编译Linux内核
|
3月前
|
存储 Linux 开发工具
如何进行Linux内核开发【ChatGPT】
如何进行Linux内核开发【ChatGPT】
|
4月前
|
Java Linux API
Linux设备驱动开发详解2
Linux设备驱动开发详解
54 6