]> granicus.if.org Git - gc/commitdiff
Fix 'external linkage required for var because of dllimport' error on MinGW
authorIvan Maidanski <ivmai@mail.ru>
Tue, 18 Jun 2019 08:34:55 +0000 (11:34 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 18 Jun 2019 08:34:55 +0000 (11:34 +0300)
* 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

index 5580cac6c5a92c169e29e25efed3f3f600878615..99c3e64c5a0f5bfd7126e323db1e8556051403ee 100644 (file)
 
 #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__) \