]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dlimpexp.h
Cast for argument to delete[] - VC6 doesn't want to delete a const pointer
[wxWidgets.git] / include / wx / dlimpexp.h
index 13078ba56349ea0fc72eef08715a8e7e4c218d3c..8b88602f04d2f049e864dad4542ab3056d4fd483 100644 (file)
@@ -67,7 +67,7 @@
    support arbitrary combinations of libs/DLLs: either we build all of them as
    DLLs (in which case WXMAKINGDLL is defined) or none (it isn't).
 
    support arbitrary combinations of libs/DLLs: either we build all of them as
    DLLs (in which case WXMAKINGDLL is defined) or none (it isn't).
 
-   However we have a problem because we need separate WXDLLEXPORT versions for
+   However we have a problem because we need separate WXDLLIMPEXP versions for
    different libraries as, for example, wxString class should be dllexported
    when compiled in wxBase and dllimported otherwise, so we do define separate
    WXMAKING/USINGDLL_XYZ constants for each component XYZ.
    different libraries as, for example, wxString class should be dllexported
    when compiled in wxBase and dllimported otherwise, so we do define separate
    WXMAKING/USINGDLL_XYZ constants for each component XYZ.
@@ -92,7 +92,7 @@
 #endif /* WXMAKINGDLL */
 
 /*
 #endif /* WXMAKINGDLL */
 
 /*
-   WXDLLEXPORT maps to export declaration when building the DLL, to import
+   WXDLLIMPEXP_CORE maps to export declaration when building the DLL, to import
    declaration if using it or to nothing at all if we don't use wxWin as DLL
  */
 #ifdef WXMAKINGDLL_BASE
    declaration if using it or to nothing at all if we don't use wxWin as DLL
  */
 #ifdef WXMAKINGDLL_BASE
        template <typename T> class Foo { ... };
        WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE( Foo<int> )
 
        template <typename T> class Foo { ... };
        WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE( Foo<int> )
 
-   (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;
  */
 #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
     #else
         /*
            We need to disable this warning when using this macro, as
-           recommended by Microsoft itself: 
+           recommended by Microsoft itself:
 
            http://support.microsoft.com/default.aspx?scid=kb%3ben-us%3b168958
          */
 
            http://support.microsoft.com/default.aspx?scid=kb%3ben-us%3b168958
          */
 
         #define WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE(decl) \
             extern template class WXDLLIMPEXP_BASE decl;
 
         #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)
     #endif
 #else /* not VC <= 6 */
     #define WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE(decl)
+    #define WXDLLIMPEXP_TEMPLATE_INSTANCE_CORE(decl)
 #endif /* VC6/others */
 
 #endif /* _WX_DLIMPEXP_H_ */
 #endif /* VC6/others */
 
 #endif /* _WX_DLIMPEXP_H_ */