From: Masao M. <mu...@hi...> - 2003-02-18 15:02:44
|
むとうです。 On Tue, 18 Feb 2003 02:32:40 +0900 Masahiro Sakai <s01...@sf...> wrote: > さかいです。 > というわけで、 > http://web.sfc.keio.ac.jp/~s01397ms/cygwin/ > を更新しました。 せっかくですから、SFのruby-gnome2のNewsのところに 投稿してはいかがでしょう。 > ただし、fcpackageをポートするのが面倒だったので、 > pangoはxftとft2のサポートを外してしまいました。 > > それから、gtkはx11版の挙動がおかしかったので、 > とりあえずリンクをコメントアウトしてあります。 > # 地雷を踏みたい人はどうぞ。;-) 今度試してみます。 #3月までは無理そうです...(T_T)。 > > 3. コンパイルはできたんだけど、require 'pango'でSegFaultが発生 > > そういえば、変数のインポートと関数のインポートは扱いが異なるので、 > 変数は __declspec(dllimport) をつけて宣言するか、 > glib2.defで「mGLib DATA」のように書くかしないと、 > SegFaultの原因になったはずです。 それって、EXTERNマクロを使ってUSEIMPORTLIBつけて コンパイルするという話ではないですか? 確か変数関係は全部EXTERNに書き換えたつもりだったんだけどなぁ。 #全然ハズしてます(^^;)? > > a. glib2.soをそのまま使ってシンボルを解決できないのか > > 拡張子が.dllの時は直接リンク出来るのですが、 > それ以外だとダメみたいです。 なるほど。 > > b. a.ができない場合、glib2.aやglib2.dllを作りそれを参照する > > 方法にするというので良いのか > > インポートライブラリを作って > それをリンクするというのが本来のやり方なので、 > glib2.aを作る方は問題ないと思います。 > > glib2.dllを作るというのはglib2.soをリネームするという事でしょうか? > こうして作ったglib2.dllをリンクすると、 > 実行時にもglib2.soではなくglib2.dllを探してしまって > まずい気がします。 いや、どちらかというとcygwin-ruby-glib2.dllみたいなdllファイルを 作るイメージでいました。で、それをリンクする感じです。 でも、全然根拠ないです(^^;)。 > > あと、コンパイルはできたと書きましたが、私の作ったglib2.a > > は作り方があってるのかどうか自信ないので(そもそも他の > > テストプログラムを作って動作するかどうか確認していない) > > 正しいglib2.defからdlltoolで作ったものなら問題ないです。 だと良いのですが(^^;)。 -- .:% Masao Mutoh<mu...@hi...> |