2009年4月26日日曜日

mozilla firefox plugin sdk 備忘録

 選択肢は、JavaScript, Flash, Silverlight と、いろいろあるのだが、結局O3Dのような事をやろうと思ったら Native しか選択肢が無さそうなので、ぐるりと一周して plugin という話に落ち着いた。ブラウザの選択肢としての IE は既に重要視していない。ActiveX コントロールの開発はバリバリ可能ではあるが、後でどうにでもなるや・・・という事で、plugin を突っ込むことに・・・。つか、今時、独自仕様での開発(=ActiveX, Direct3D)はパスしたいところだ。

 材料
  インストール
  まぁ、展開するぐらいで、特に何もない。Gecko SDK は、c:\libs\xulrunner-sdk というフォルダに展開するものとする。

 プラグインのサンプルのコンパイル
     mozilla/modules/plugin/tools/sdk/samples/simple 
 にあるサンプルをコンパイルする。

  1. npsimple.dsp ファイルをサクラ・エディタで開く
  2. 編集・全て選択
  3. 編集・CRLF改行でコピー
  4. 編集・貼り付け
  5. ファイル・上書き保存

  1. Visual Studio で開く
  2. ツール・オプション・一番上のプロジェクトおよびソリューションにて、以下を設定
  include = C:\Libs\xulrunner-sdk\include
  include = C:\Libs\xulrunner-sdk\sdk\include
  lib = C:\Libs\xulrunner-sdk\lib
  lib = C:\Libs\xulrunner-sdk\sdk\lib

  1. plugin.h から、pluginbase.h を開く
  2. pluginbase.h から、npplat.h を開く
  3. include の順番がおかしいので下記のように修正する。


/**************************************************/
/* */
/* Windows */
/* */
/**************************************************/
#ifdef XP_WIN
#include "windows.h"
#endif //XP_WIN

#include "npapi.h"
#include "npupp.h"

  1. ソリューション・エクスプローラのnpsimple からプロパティを開く
  2. ビルド・イベントのビルド前イベントに下記のコマンドを追加する


xpidl -m header -Ic:\Libs\xulrunner-sdk\sdk\idl nsISimplePlugin.idl
xpidl -m typelib -Ic:\Libs\xulrunner-sdk\sdk\idl nsISimplePlugin.idl

以上

0 件のコメント: