[Gauche-devel-jp] Re: undefined symbol ...

Back to archive index

Yoshiyuki Asaba y-asa****@sra*****
2005年 4月 21日 (木) 00:38:57 JST


浅羽といいます。

途中までメールを書いていたのですが、自己解決したようなので一部について。

From: Makoto Satoh <makot****@yahoo*****>
Subject: [Gauche-devel-jp] Re: undefined symbol ...
Date: Thu, 21 Apr 2005 00:13:54 +0900 (JST)

> $ nm -D gd.so | grep Scm_Gd
> 00015320 D Scm_GdClass
>          U Scm_GdFontPtrClass
> 
> ということで、前者はグローバルデータとして存在しているのに後者は
> 未定義というのがおかしそうですね。

stub にある SCM_CLASS_DECL(Scm_GdFontPtrClass) というのは、gauche.h に
よると

#define SCM_CLASS_DECL(klass) extern ScmClass klass

なので、Scm_GdFontPtrClass という変数はどこかにありますと宣言していま
す。ここのエラーというのは、どこかにありますと宣言しているのですが、実
体はどこにもなかったのでエラーとなっていました。そこで実体を作るために
は、gauche の stub で

> (define-cclass <gdfont> "ScmGdFontPtr*" "Scm_GdFontPtrClass" () ())

を追加すれば、gauche.h にある SCM_DEFINE_BUILTIN_CLASS を使って実体を
作成してくれます。実際には SCM__DEFINE_CLASS_COMMON というマクロで変数
を作っています。

--
Yoshiyuki Asaba
y-asa****@sra*****



Gauche-devel-jp メーリングリストの案内
Back to archive index