[[開発ノウハウ集]] ~ (''src/Samples/MyEPApp'' も参照してください.) ~ SpringheadのIfクラスだけでなく,アプリケーションにおいて自前で用意したクラスも, swigを用いてPythonからアクセス可能にすることができます. ~ ** 0. モジュール名をきめる [#u3fdbf69] - このサンプルでは MyEPApp です. -- 含まれるクラス名とは必ずしも一致しなくて構いません. ** 1. 用意するファイル [#u0a57b0e] - クラスヘッダ(モジュール名.h) - .iファイル(モジュール名.i) %module や %ignore を適切に用意し, 最後に %include "モジュール名.h" - %module:モジュール名 - %ignore:pythonからアクセスしなくて良いMyEPAppクラスのメソッド or コンパイルが通らないメソッドの除外(UTRefまわりで起きる) ** 書き換えるファイル [#n517199b] - RunSwig.batはsrc/Samples/MyEPAppからコピーしてください. - コピー後,以下の3つを正しく書き換えてください. - コピー後,ファイル先頭にある3つの設定変数を正しく書き換えてください. -- MODULE : 1. で .iファイルに書いたモジュール名(%module) -- BIN : Springhead2/bin への相対パス -- INCLUDE : Springhead2/include への相対パス ** ビルドの方法 [#x28a64e5] - RunSwig.batを走らせる -- (''手動で走らせる''か,カスタムビルドステップ等を自分で設定する必要があります.) - グルーコード,SprEPモジュール名.h, EPモジュール名.h,EPモジュール名.cppが生成される - ビルドする ** 実行前に [#cbdd2ca9] -SprEPモジュール名.hとEPモジュール名.hをインクルードする(おそらくmain.cpp) -main関数内のinterpreter->Initialize();のあとで関数Initモジュール名();を呼ぶ -この関数はSprEPモジュール名.hで宣言されている --Springhead関係はinterpreter->Initialize();で初期化されるが,自前のものは初期化されないのでここでやっておく