福嶋です。

matz / netlab.co.jp (Yukihiro Matsumoto) wrote:
> In message "[ruby-ext:00816] Ruby/gmp"
>     on 00/01/04, rubikitch <g96p0935 / mse.waseda.ac.jp> writes:

> |typedef __mpf_struct mpf_t[1];
> |をそのまま .i ファイルに書いたらエラーになってしまいました。
> |この宣言で悩んでいるところです。
> 
> SWIGって配列はサイズも含めて明示的にtypemapを用意する必要が
> あったと思います。SWIGの方のドキュメント(ってswigrubyのはな
> いんですが)を参照してください。

そうですね。

あと気になるのは、
> > メソッドはこんな感じです。
というところに書いてある関数では、mpf_tは使っていないように見える
ことです。

手元の gmp.h を見ても mpf_t は宣言されているだけで、関数の宣言の
中では使われていないようですね。とりあえず、mpf_t の宣言は外して
試してみてはどうでしょうか。


SWIG本家のドキュメントにも書いてあるんですが、へッダファイルの中
身をそのままインタフェースに持ってくると、うまくいかない場合があ
ります。その場合は必要な宣言だけをインタフェースとして用意すると
良いと思います。

---
福嶋正機