From: HIDAKA Takahiro Date: 2002-01-22T01:15:26+09:00 Subject: [ruby-list:33465] Re: Mysql/Ruby のコンパイル  ひだかです。 At 2002/01/21 23:28:37 nobu.nakada@nifty.ne.jp wrote: > なかだです。 > > At Mon, 21 Jan 2002 22:49:36 +0900, > HIDAKA Takahiro wrote: > >  mysql.h で、 > > > int STDCALL mysql_query(MYSQL *mysql, const char *q); > > とSTDCALLつきで宣言されていて、でも mkmf.rb の find_library では > > プロトタイプなしでリンクしようとするためにうまくいかないようですね。。 > have_headerを先にするとmysql.hがインクルードされて通ったりしな > いでしょうか。  確かにこのようにするとヘッダがインクルードされました。でも ちょっと問題を誤認してました。  mysql.h 内で、__CYGWIN__ が定義されていたら STDCALL を削除、などと 書かれているので、結局ヘッダのSTDCALLは問題ではなくて、STDCALL が定義されて コンパイルされているライブラリをリンクしようとするのが問題でした。  で、多少ヘッダを書き換えてみたりしたのですが、結局 VC++のライブラリを 要求するようです。。。  しょうがないので、mysql のソースを持ってきてクライアント部だけ cygwin で コンパイルして作って、それをリンクした Ruby/mysql をつくり、 サーバはバイナリ配布のものを持ってきて、それと接続するのは できました。接続先を localhost で指定すると unix domain socket で 繋ごうとして失敗するので、自分のホスト名を明示的に書く必要が ありました。  これはできて当たり前なのでしたっけ? 必要な人がいればもういちど手順を 確かめてみます。 -- ひだかたかひろ