【初心者】Java質問・相談スレッド123【歓迎】 at TECH
[2ch|▼Menu]
168:デフォルトの名無しさん
09/01/27 23:10:47
>>165
調べてみたら、ネィティブメソッドをラップするクラスの定義に
Javaコードを流し込む指示をSWIGの定義ファイル(iファイル)に
書けることが分かりました。実際サンプルは次のようなもので、

%pragma(java) jniclasscode=%{
 static {
  try {
   System.loadLibrary("exampler");
  } catch (UnsatisfiedLinkError e) {
   System.err.println("Native code library failed to load. \n" + e);
   System.exit(1);
  }
 }
%}

これを少し弄ることでNativeHogeに相当するクラスの定義に必要な
static{}句を流し込むことが出来て万事解決しました。というわけで、

>SWIGで生成されるNativeHogeのJavaバインディングは
>loadLibraryしないと使えないこと前提なのに
>その処理自体は自動生成されるソースにはデフォルトで入ってないの?

デフォルトでは入っていないけど手動の解決策は用意済みなので
ちゃんとドキュメントのサンプルは隅から隅まで読みましょう、という
教訓でしたw


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5066日前に更新/227 KB
担当:undef