|
分類:[C#]
現在,私はC++とC#を使ってアプリケーションを作っております.
C#からC++で定義したクラスやメソッドを利用するために「SWIG」を利用しようと考えているのですが,
コマンドプロンプトで 「swig.exe -csharp -c++ (インターフェースファイル)」 を実行すると
「Nested struct not currently supported」というエラーが出てしまい困っています.
エラーの起こった場所のソースは class myClass{ struct myStruct { int d; int s; }; }; といった感じに 「クラスの宣言の中で構造体の宣言」をおこなっおり, 自分で調べた結果,SWIGは入れ子のクラスや構造体が使えないようです. 以下のような「クラスの入れ子」の場合 class A { class B { } } インターフェースファイルで. class A {
} class A::B {
} このように記述することができるようなのですが・・・・・
今回のような「クラス内で構造体を宣言する」ような場合の回避方法は何か無いのでしょうか?? SWIGのドキュメントを読んだのですが,書いてません・・・・.
c++側を改変すれば,解決するとは思うのですが,なにぶんC++は私が組んだものではないので, 厳しいものがあるのです.
何かご存知の方がいらっしゃいましたらヒントだけでも構わないので,ご助力をお願いできないでしょうか? 宜しくお願いします.
|