From 401a332edf71c0342c34281a530fa6df7beff49e Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Tue, 18 Jun 2019 11:34:55 +0300 Subject: [PATCH] Fix 'external linkage required for var because of dllimport' error on MinGW * include/gc_config_macros.h [GC_DLL && !GC_API && !__CEGCC__ && __MINGW32__ && !GC_BUILD && !__MINGW32_DELAY_LOAD__] (GC_API): Add "extern" keyword. --- include/gc_config_macros.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/include/gc_config_macros.h b/include/gc_config_macros.h index 5580cac..99c3e64 100644 --- a/include/gc_config_macros.h +++ b/include/gc_config_macros.h @@ -176,13 +176,20 @@ #if defined(GC_DLL) && !defined(GC_API) -# if defined(__MINGW32__) || defined(__CEGCC__) -# if defined(__cplusplus) && defined(GC_BUILD) && defined(__MINGW32__) +# if defined(__CEGCC__) +# if defined(GC_BUILD) +# define GC_API __declspec(dllexport) +# else +# define GC_API __declspec(dllimport) +# endif + +# elif defined(__MINGW32__) +# if defined(__cplusplus) && defined(GC_BUILD) # define GC_API extern __declspec(dllexport) # elif defined(GC_BUILD) || defined(__MINGW32_DELAY_LOAD__) # define GC_API __declspec(dllexport) # else -# define GC_API __declspec(dllimport) +# define GC_API extern __declspec(dllimport) # endif # elif defined(_MSC_VER) || defined(__DMC__) || defined(__BORLANDC__) \ -- 2.7.4