跨浏览器插件框架FireBreath安装与使用之二——Linux下的插件

来源:互联网 发布:java string类split 编辑:程序博客网 时间:2024/04/30 20:28

转http://blog.csdn.net/ubuntu64fan/article/details/7982220

跨浏览器插件框架FireBreath安装与使用之二——Linux下的插件

cheungmine

2012-9

关键词:Linux, Plugin, Firefox


参考文章地址:

http://www.firebreath.org/display/documentation/Building+on+Linux


本文试图用最清晰的步骤说明如何在Linux(Ubuntu Desktop)上安装FireBreath开发环境,并通过一个完整的

示例插件项目hello,来说明如何开发Linux上的浏览器插件。


1)首先是在ubuntu desktop 12.04上安装开发环境,安装cmake, libgtk(大部分浏览器使用的图形库), git。

$ sudo apt-get install cmake libgtk2.0-dev git

2)下载firebreath最新版。当前目录: ~/NVPACK。解压缩。

git clone https://github.com/firebreath/FireBreath.git

$ cd ./FireBreath

当前目录为~/NVPACK/firebreath

$ mkdir ./projects

3)生成示例项目(此步是可选的)。

$ ./prepmake.sh ./examples

4)创建自己的插件:hello

$ python ./fbgen.py

在需要输入名称的地方输入:hello

这样一个hello plugin的源代码就生成了。接下来生成项目build文件。

5)生成项目构建文件。因为是用make构建,所以我们选择:

$ ./prepmake.sh ./projects/hello

6)构建项目

$ cd./projects/hello

$ make

7)部署和测试

插件文件nphello.so生成了,在:

../firebreath/build/bin/hello/nphello.so

把这个文件复制到Firefox插件路径下:

/usr/lib/mozilla/plugins/

$ sudo cp ~/NVPACK/firebreath/build/bin/hello/nphello.so /usr/lib/mozilla/plugins/

然后用firefox浏览器打开下面的测试文件:

~/NVPACK/firebreath/build/projects/hello/gen/FBControl.htm

看到:

            -----------------------

                 Plugin loaded!

            -----------------------

                               [OK]


最近遇到一个问题,我在Linux上编写绘图插件,在包含#include "X11/PluginWindowX11.h"之后,系统提示:

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. In file included from /home/cl/workspace/firebreath-git/firebreath-dev/projects/canvasplugin/canvasplugin.cpp:27:0:  
  2. /home/cl/workspace/firebreath-git/firebreath-dev/src/PluginAuto/X11/PluginWindowX11.h:22:21: fatal error: gtk/gtk.h: No such file or directory  
  3. compilation terminated.  


熬夜搞了10个小时,终于搞定。在.../projects/canvasplugin/X11/projectDef.cmake里加入下面的内容:

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. # solve make error:  
  2. #   src/PluginAuto/X11/PluginWindowX11.h:22:21:  
  3. #     fatal error: gtk/gtk.h: No such file or directory  
  4. include_directories(${GTK_INCLUDE_DIRS})  

一切大功告成。


0 0
原创粉丝点击