X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/53a2db124c633f80bdb16336084262037d879a2c..dd021ce2bd29a7e1d19b80995cd700828d5367c3:/include/wx/dlimpexp.h?ds=sidebyside diff --git a/include/wx/dlimpexp.h b/include/wx/dlimpexp.h index e87c749ab7..d7495ecb9b 100644 --- a/include/wx/dlimpexp.h +++ b/include/wx/dlimpexp.h @@ -98,12 +98,23 @@ #ifdef WXMAKINGDLL_BASE # define WXDLLIMPEXP_BASE WXEXPORT # define WXDLLIMPEXP_DATA_BASE(type) WXEXPORT type +# if defined(HAVE_VISIBILITY) +# define WXDLLIMPEXP_INLINE_BASE WXEXPORT +# else +# define WXDLLIMPEXP_INLINE_BASE +# endif #elif defined(WXUSINGDLL) # define WXDLLIMPEXP_BASE WXIMPORT # define WXDLLIMPEXP_DATA_BASE(type) WXIMPORT type +# if defined(HAVE_VISIBILITY) +# define WXDLLIMPEXP_INLINE_BASE WXIMPORT +# else +# define WXDLLIMPEXP_INLINE_BASE +# endif #else /* not making nor using DLL */ # define WXDLLIMPEXP_BASE # define WXDLLIMPEXP_DATA_BASE(type) type +# define WXDLLIMPEXP_INLINE_BASE #endif #ifdef WXMAKINGDLL_NET @@ -193,6 +204,14 @@ # define WXDLLIMPEXP_AUI #endif +#ifdef WXMAKINGDLL_PROPGRID +# define WXDLLIMPEXP_PROPGRID WXEXPORT +#elif defined(WXUSINGDLL) +# define WXDLLIMPEXP_PROPGRID WXIMPORT +#else /* not making nor using DLL */ +# define WXDLLIMPEXP_PROPGRID +#endif + #ifdef WXMAKINGDLL_RICHTEXT # define WXDLLIMPEXP_RICHTEXT WXEXPORT #elif defined(WXUSINGDLL) @@ -264,12 +283,14 @@ template class Foo { ... }; WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE( Foo ) - (notice that currently we only need this for the wxBase library) + (notice that currently we only need this for wxBase and wxCore libraries) */ #if defined(__VISUALC__) && (__VISUALC__ <= 1200) #ifdef WXMAKINGDLL_BASE #define WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE(decl) \ template class WXDLLIMPEXP_BASE decl; + #define WXDLLIMPEXP_TEMPLATE_INSTANCE_CORE(decl) \ + template class WXDLLIMPEXP_CORE decl; #else /* We need to disable this warning when using this macro, as @@ -281,9 +302,12 @@ #define WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE(decl) \ extern template class WXDLLIMPEXP_BASE decl; + #define WXDLLIMPEXP_TEMPLATE_INSTANCE_CORE(decl) \ + extern template class WXDLLIMPEXP_CORE decl; #endif #else /* not VC <= 6 */ #define WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE(decl) + #define WXDLLIMPEXP_TEMPLATE_INSTANCE_CORE(decl) #endif /* VC6/others */ #endif /* _WX_DLIMPEXP_H_ */