> > いがらしです。 > > > 井手です。 > > http://user.sgic.fi/~tml/gimp/win32/ の gtk+-src-19991118.zip > > を見ますと、gtk_widget_{pop,push}_composite_childはちゃんとありました。 > > > > 四苦八苦してgtk-1.3.libを作り、再コンパイルしてみましたが、なぜかこの > > ふたつが未解決になります。 > > そこで、rbgtkwidget.cに該当モジュールを書き込んで、コンパイルしたとこ > > ろ無事にgtk.dllが作成されました。 > > 「rbgtkwidget.cに該当モジュールを書き込んで」というのは > 関数の宣言をしたということでしょうか? > まさか関数gtk_widget_{pop,push}_composite_childの定義 > そのものを追加したのではないですよね? > > Ruby/GTK側に問題があるようなら適宜修正したいので、 > 具体的に教えて頂けるとありがたいです。 > 井手です。 まさしく、関数定義そのものを書き込みました。 なにしろ、コンパイル成功の快感を味わいたかったものですから。 再度前夜から、19991118ベースのライブラリィをソースから構築してみました。 Gimp for Windows 関連の gtk+-src-19991118.zipを展開すると gtk+/gtk にgtk.defとgtk.defsができます。 どちらにも、gtk_widget_{pop,push}_composite_childの記述がありません。 試しに、gtk.defとgtk.defsでgtk_widget_{pop,push}_composite_childを 明示的にEXPORTSするように修正し、gtk-1.3.lib及びDLLを作ったところ、 rbgtkwidget.cはオリジナルのまま、すんなりコンパイルできました。 しかし、エントリーポイントgtk_window_get_sizeがみつからないといって gtkサンプルはうごきませんでした。 この原因はgdkcompat.hにあるだろうと、いろいろ試行錯誤して挑戦しました が、 時間切れです。 次に、19990828ベースでgtk-1.3.lib、gtk-1.3.dllは正規のものを使い、 rbgtkwidget.c からはgtk_widget_{pop,push}_composite_childの記述を削除してみました。 出来上がったgtk.dllを使って、ruby-gtk-SNAPSHOT-19991213のtestgtk.rbは 正常に動作しました。 以上です。 井手 saburo / rr.iij4u.or.jp