[Gauche-devel-jp] Re: main.c で Scm_PairClass が見つからない

Back to archive index

shelarcy shela****@capel*****
2004年 6月 28日 (月) 08:15:06 JST


On Sun, 27 Jun 2004 21:14:20 +0900, shelarcy 
<shela****@capel*****> wrote:
> どうやら cygwin を真似てこう定義したのが悪いようですが、
>
> /* Ugly cliche for Win32. */
> #if defined(__CYGWIN__) || WIN32_NATIVE
> # if defined(LIBGAUCHE_BODY)
> #  define SCM_EXTERN extern __declspec(dllexport)
> # else
> #  define SCM_EXTERN extern __declspec(dllimport)
> # endif
> #else  /*!__CYGWIN__ && !WIN32_NATIVE*/
> # define SCM_EXTERN extern
> #endif /*!__CYGWIN__ && !WIN32_NATIVE*/
>
>
> 定義しないならしないで、こうなりますし……
>
>
> gcc.compile.c bin\gcc\debug\main.o
> gcc.link bin\gcc\debug\gosh.exe
> Info: resolving _Scm_PairClass by linking to __imp__Scm_PairClass
> (auto-import)
> d000033.o(.idata$5+0x0): multiple definition of `_imp__Scm_PairClass'
> d000019.o(.idata$5+0x0): first defined here
> d000033.o(.idata$6+0x0): multiple definition of `_nm__Scm_PairClass'
> d000019.o(.idata$6+0x0): first defined here

どうやら上の定義時に

#define SCM_CLASS_DECL(klass) extern ScmClass klass

を以下のように書き換えると問題はなくなるようですが、何かまずい点はあります
か?

#define SCM_CLASS_DECL(klass) SCM_EXTERN ScmClass klass



-- 
shelarcy <shela****@capel*****>
http://page.freett.com/shelarcy/



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