[Gauche-devel-jp] Re: undefined reference to `_imp__GC_malloc_atomic' ?

Zurück zum Archiv-Index

shelarcy shela****@capel*****
2004年 6月 13日 (日) 02:03:55 JST


On Fri, 04 Jun 2004 13:55:05 -1000 (HST), Shiro Kawai <shiro****@lava*****> 
wrote:
>> undefined reference to `_imp__GC_malloc_atomic' のエラーの原因って
>> 何でしょうか?
>
> これは外部のDLLのシンボルへの参照がうまくいってない時に見ますね。
> GCのコードが __declspec(dllimport) つきでコンパイルされちゃってるのかな。
> GCのコードはlibgauche.dll内に一緒に含まれるので、load.c等のコンパイル
> 時には__declspec(dllimport)無しで参照されている必要があると思います。

gc_config_macros.h での定義のせいでした。

#if defined(_DLL) && !defined(GC_NOT_DLL) && !defined(GC_DLL)
# define GC_DLL
#endif

#if defined(__MINGW32__) && defined(GC_DLL)
# ifdef GC_BUILD
#   define GC_API __declspec(dllexport)
# else
#   define GC_API __declspec(dllimport)
# endif
#endif

すると、GC_BUILD を define すればいいはずですが、なぜか手元の Boost.Build
では static library にはなるのに、 dynamic library にはならないというあり
さま。

どうしてかな?

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



Gauche-devel-jp メーリングリストの案内
Zurück zum Archiv-Index