Windows環境で gd2 を使う(未完)

環境

標準的な手順(他のライブラリでも共通)

gd2 の入手
gem install gd2
gdlib の入手

http://www.libgd.org/releases/
から win32 用のバイナリをダウンロード。
bgd.dll を c:\windows\system32\ に置く。

gems のライブラリを普通に require できるようにする。

環境変数
rubyopt=rubygems
を設定。

このままだと動かないので、スクリプトをちょっと書き換える

インストールされた gd2.rb に記述されているメソッド self.name_fo_symbol の中の以下の部分を書き換える。

def self.name_for_symbol(symbol, signature)
  case Config::CONFIG['arch']
  when /mswin32/, /cygwin/
    sum = -4
    signature.each_byte do |char|
      sum += case char
        when ?D: 8
        else     4
      end
    end
    "_#{symbol}@#{sum}"  #<-----先頭にアンダースコアを加える
  else
    symbol.to_s
  end
end

これで何とか(http://gd2.rubyforge.org/ に書かれているサンプルコード程度は)動くようになるけど、スクリプト実行終了後に

gdtest.rb:15: [BUG] Segmentation fault
ruby 1.8.5 (2006-12-25) [i386-mswin32]


This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

結構ヘビーなお知らせが表示される。他と組み合わせて使うのは怖い。