// classes
 //-----------------------------------------------------------------------------
 
-class wxPalette;
+class WXDLLIMPEXP_CORE wxPalette;
 
 //-----------------------------------------------------------------------------
 // wxPalette
 //-----------------------------------------------------------------------------
 
-class wxPalette: public wxPaletteBase
+class WXDLLIMPEXP_CORE wxPalette: public wxPaletteBase
 {
   DECLARE_DYNAMIC_CLASS(wxPalette)
 
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxApp;
-class wxLog;
+class WXDLLIMPEXP_CORE wxApp;
+class WXDLLIMPEXP_BASE wxLog;
 
 //-----------------------------------------------------------------------------
 // wxApp
 //-----------------------------------------------------------------------------
 
-class wxApp: public wxAppBase
+class WXDLLIMPEXP_CORE wxApp: public wxAppBase
 {
 public:
     wxApp();
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxMask;
-class wxBitmap;
-class wxImage;
+class WXDLLIMPEXP_CORE wxMask;
+class WXDLLIMPEXP_CORE wxBitmap;
+class WXDLLIMPEXP_CORE wxImage;
 
 //-----------------------------------------------------------------------------
 // wxMask
 //-----------------------------------------------------------------------------
 
-class wxMask: public wxObject
+class WXDLLIMPEXP_CORE wxMask: public wxObject
 {
 public:
     wxMask();
 // wxBitmap
 //-----------------------------------------------------------------------------
 
-class wxBitmap: public wxBitmapBase
+class WXDLLIMPEXP_CORE wxBitmap: public wxBitmapBase
 {
 public:
     wxBitmap();
 // wxBitmapHandler
 //-----------------------------------------------------------------------------
 
-class wxBitmapHandler: public wxBitmapHandlerBase
+class WXDLLIMPEXP_CORE wxBitmapHandler: public wxBitmapHandlerBase
 {
 public:
     wxBitmapHandler() { }
 
 // wxBitmapButton
 // ----------------------------------------------------------------------------
 
-class wxBitmapButton: public wxBitmapButtonBase
+class WXDLLIMPEXP_CORE wxBitmapButton: public wxBitmapButtonBase
 {
 public:
     wxBitmapButton() { Init(); }
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxBrush;
+class WXDLLIMPEXP_CORE wxBrush;
 
 //-----------------------------------------------------------------------------
 // wxBrush
 //-----------------------------------------------------------------------------
 
-class wxBrush: public wxBrushBase
+class WXDLLIMPEXP_CORE wxBrush: public wxBrushBase
 {
 public:
     wxBrush() { }
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxButton;
+class WXDLLIMPEXP_CORE wxButton;
 
 //-----------------------------------------------------------------------------
 // global data
 //-----------------------------------------------------------------------------
 
-extern const wxChar *wxButtonNameStr;
+extern WXDLLIMPEXP_CORE const wxChar *wxButtonNameStr;
 
 //-----------------------------------------------------------------------------
 // wxButton
 //-----------------------------------------------------------------------------
 
-class wxButton: public wxButtonBase
+class WXDLLIMPEXP_CORE wxButton: public wxButtonBase
 {
 public:
     wxButton();
 
 // wxCheckBox
 // ----------------------------------------------------------------------------
 
-class wxCheckBox : public wxCheckBoxBase
+class WXDLLIMPEXP_CORE wxCheckBox : public wxCheckBoxBase
 {
 public:
     wxCheckBox();
 
 // wxCheckListBox
 // ----------------------------------------------------------------------------
 
-class wxCheckListBox : public wxListBox
+class WXDLLIMPEXP_CORE wxCheckListBox : public wxListBox
 {
 public:
     wxCheckListBox();
 
 // wxChoice
 //-----------------------------------------------------------------------------
 
-class wxChoice : public wxChoiceBase
+class WXDLLIMPEXP_CORE wxChoice : public wxChoiceBase
 {
 public:
     wxChoice();
 
 // wxClipboard
 // ----------------------------------------------------------------------------
 
-class wxClipboard : public wxClipboardBase
+class WXDLLIMPEXP_CORE wxClipboard : public wxClipboardBase
 {
 public:
     wxClipboard();
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxDC;
-class wxPaintDC;
-class wxBitmap;
-class wxWindow;
+class WXDLLIMPEXP_CORE wxDC;
+class WXDLLIMPEXP_CORE wxPaintDC;
+class WXDLLIMPEXP_CORE wxBitmap;
+class WXDLLIMPEXP_CORE wxWindow;
 
-class wxColour;
+class WXDLLIMPEXP_CORE wxColour;
 
 //-----------------------------------------------------------------------------
 // wxColour
 //-----------------------------------------------------------------------------
 
-class wxColour: public wxGDIObject
+class WXDLLIMPEXP_CORE wxColour: public wxGDIObject
 {
 public:
     wxColour() { }
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxComboBox;
+class WXDLLIMPEXP_CORE wxComboBox;
 
 //-----------------------------------------------------------------------------
 // global data
 //-----------------------------------------------------------------------------
 
-extern const wxChar* wxComboBoxNameStr;
-extern const wxChar* wxEmptyString;
+extern WXDLLIMPEXP_CORE const wxChar* wxComboBoxNameStr;
+extern WXDLLIMPEXP_BASE const wxChar* wxEmptyString;
 
 //-----------------------------------------------------------------------------
 // wxComboBox
 //-----------------------------------------------------------------------------
 
-class wxComboBox : public wxControl, public wxComboBoxBase
+class WXDLLIMPEXP_CORE wxComboBox : public wxControl, public wxComboBoxBase
 {
 public:
     inline wxComboBox() {}
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxControl;
+class WXDLLIMPEXP_CORE wxControl;
 
 //-----------------------------------------------------------------------------
 // wxControl
     typedef GtkWidget* (*wxGtkWidgetNewFromAdj_t)(GtkAdjustment*);
 }
 
-class wxControl : public wxControlBase
+class WXDLLIMPEXP_CORE wxControl : public wxControlBase
 {
 public:
     wxControl();
 
 // wxCursor
 //-----------------------------------------------------------------------------
 
-class wxCursor: public wxObject
+class WXDLLIMPEXP_CORE wxCursor: public wxObject
 {
 public:
 
 
 #ifndef _WX_GTK_DATAFORM_H
 #define _WX_GTK_DATAFORM_H
 
-class wxDataFormat
+class WXDLLIMPEXP_CORE wxDataFormat
 {
 public:
     // the clipboard formats under GDK are GdkAtoms
 
 // wxDataObject is the same as wxDataObjectBase under wxGTK
 // ----------------------------------------------------------------------------
 
-class wxDataObject : public wxDataObjectBase
+class WXDLLIMPEXP_CORE wxDataObject : public wxDataObjectBase
 {
 public:
     wxDataObject();
 
 // wxBitmapDataObject is a specialization of wxDataObject for bitmaps
 // ----------------------------------------------------------------------------
 
-class wxBitmapDataObject : public wxBitmapDataObjectBase
+class WXDLLIMPEXP_CORE wxBitmapDataObject : public wxBitmapDataObjectBase
 {
 public:
     // ctors
 // wxFileDataObject is a specialization of wxDataObject for file names
 // ----------------------------------------------------------------------------
 
-class wxFileDataObject : public wxFileDataObjectBase
+class WXDLLIMPEXP_CORE wxFileDataObject : public wxFileDataObjectBase
 {
 public:
     // implement base class pure virtuals
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxDC;
+class WXDLLIMPEXP_CORE wxDC;
 
 //-----------------------------------------------------------------------------
 // constants
 // wxDC
 //-----------------------------------------------------------------------------
 
-class wxDC : public wxDCBase
+class WXDLLIMPEXP_CORE wxDC : public wxDCBase
 {
 public:
     wxDC();
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxWindowDC;
-class wxPaintDC;
-class wxClientDC;
+class WXDLLIMPEXP_CORE wxWindowDC;
+class WXDLLIMPEXP_CORE wxPaintDC;
+class WXDLLIMPEXP_CORE wxClientDC;
 
 //-----------------------------------------------------------------------------
 // wxWindowDC
 //-----------------------------------------------------------------------------
 
-class wxWindowDC : public wxDC
+class WXDLLIMPEXP_CORE wxWindowDC : public wxDC
 {
 public:
     wxWindowDC();
 // wxClientDC
 //-----------------------------------------------------------------------------
 
-class wxClientDC : public wxWindowDC
+class WXDLLIMPEXP_CORE wxClientDC : public wxWindowDC
 {
 public:
     wxClientDC() { }
 // wxPaintDC
 //-----------------------------------------------------------------------------
 
-class wxPaintDC : public wxClientDC
+class WXDLLIMPEXP_CORE wxPaintDC : public wxClientDC
 {
 public:
     wxPaintDC() { }
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxMemoryDC;
+class WXDLLIMPEXP_CORE wxMemoryDC;
 
 //-----------------------------------------------------------------------------
 // wxMemoryDC
 //-----------------------------------------------------------------------------
 
-class wxMemoryDC : public wxWindowDC
+class WXDLLIMPEXP_CORE wxMemoryDC : public wxWindowDC
 {
 public:
     wxMemoryDC();
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxScreenDC;
+class WXDLLIMPEXP_CORE wxScreenDC;
 
 //-----------------------------------------------------------------------------
 // wxScreenDC
 //-----------------------------------------------------------------------------
 
-class wxScreenDC : public wxPaintDC
+class WXDLLIMPEXP_CORE wxScreenDC : public wxPaintDC
 {
 public:
     wxScreenDC();
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxDialog;
+class WXDLLIMPEXP_CORE wxDialog;
 
 //-----------------------------------------------------------------------------
 // global data
 //-----------------------------------------------------------------------------
 
-extern const wxChar *wxDialogNameStr;
+extern WXDLLIMPEXP_CORE const wxChar *wxDialogNameStr;
 
 //-----------------------------------------------------------------------------
 // wxDialog
 //-----------------------------------------------------------------------------
 
-class wxDialog: public wxDialogBase
+class WXDLLIMPEXP_CORE wxDialog: public wxDialogBase
 {
 public:
     wxDialog() { Init(); }
 
 // classes
 //-------------------------------------------------------------------------
 
-class wxWindow;
+class WXDLLIMPEXP_CORE wxWindow;
 
-class wxDropTarget;
-class wxTextDropTarget;
-class wxFileDropTarget;
+class WXDLLIMPEXP_CORE wxDropTarget;
+class WXDLLIMPEXP_CORE wxTextDropTarget;
+class WXDLLIMPEXP_CORE wxFileDropTarget;
 
-class wxDropSource;
+class WXDLLIMPEXP_CORE wxDropSource;
 
 // ----------------------------------------------------------------------------
 // macros
 // wxDropTarget
 //-------------------------------------------------------------------------
 
-class wxDropTarget: public wxDropTargetBase
+class WXDLLIMPEXP_CORE wxDropTarget: public wxDropTargetBase
 {
 public:
     wxDropTarget(wxDataObject *dataObject = (wxDataObject*) NULL );
 // wxDropSource
 //-------------------------------------------------------------------------
 
-class wxDropSource: public wxDropSourceBase
+class WXDLLIMPEXP_CORE wxDropSource: public wxDropSourceBase
 {
 public:
     // constructor. set data later with SetData()
 
 // wxFileDialog
 //-------------------------------------------------------------------------
 
-class wxFileDialog: public wxGenericFileDialog
+class WXDLLIMPEXP_CORE wxFileDialog: public wxGenericFileDialog
 {
 public:
     wxFileDialog() { }
 
 // classes
 // ----------------------------------------------------------------------------
 
-class wxDC;
-class wxPaintDC;
-class wxWindow;
+class WXDLLIMPEXP_CORE wxDC;
+class WXDLLIMPEXP_CORE wxPaintDC;
+class WXDLLIMPEXP_CORE wxWindow;
 
-class wxFont;
+class WXDLLIMPEXP_CORE wxFont;
 
 // ----------------------------------------------------------------------------
 // wxFont
 // ----------------------------------------------------------------------------
 
-class wxFont : public wxFontBase
+class WXDLLIMPEXP_CORE wxFont : public wxFontBase
 {
 public:
     // ctors and such
 
 // wxFontDialog
 //-----------------------------------------------------------------------------
 
-class wxFontDialog : public wxFontDialogBase
+class WXDLLIMPEXP_CORE wxFontDialog : public wxFontDialogBase
 {
 public:
     wxFontDialog() : wxFontDialogBase() { /* must be Create()d later */ }
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxMDIChildFrame;
-class wxMDIClientWindow;
-class wxMenu;
-class wxMenuBar;
-class wxToolBar;
-class wxStatusBar;
+class WXDLLIMPEXP_CORE wxMDIChildFrame;
+class WXDLLIMPEXP_CORE wxMDIClientWindow;
+class WXDLLIMPEXP_CORE wxMenu;
+class WXDLLIMPEXP_CORE wxMenuBar;
+class WXDLLIMPEXP_CORE wxToolBar;
+class WXDLLIMPEXP_CORE wxStatusBar;
 
 //-----------------------------------------------------------------------------
 // wxFrame
 //-----------------------------------------------------------------------------
 
-class wxFrame : public wxFrameBase
+class WXDLLIMPEXP_CORE wxFrame : public wxFrameBase
 {
 public:
     // construction
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxGauge;
+class WXDLLIMPEXP_CORE wxGauge;
 
 //-----------------------------------------------------------------------------
 // global data
 //-----------------------------------------------------------------------------
 
-extern const wxChar* wxGaugeNameStr;
+extern WXDLLIMPEXP_CORE const wxChar* wxGaugeNameStr;
 
 //-----------------------------------------------------------------------------
 // wxGaugeBox
 //-----------------------------------------------------------------------------
 
-class wxGauge: public wxControl
+class WXDLLIMPEXP_CORE wxGauge: public wxControl
 {
 public:
     wxGauge() { Init(); }
 
 #pragma interface
 #endif
 
-class wxGDIObject : public wxObject
+class WXDLLIMPEXP_CORE wxGDIObject : public wxObject
 {
 public:
     inline wxGDIObject() { m_visible = FALSE; };
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxIcon;
+class WXDLLIMPEXP_CORE wxIcon;
 
 //-----------------------------------------------------------------------------
 // wxIcon
 //-----------------------------------------------------------------------------
 
-class wxIcon: public wxBitmap
+class WXDLLIMPEXP_CORE wxIcon: public wxBitmap
 {
 public:
     wxIcon();
 
 // wxListBox
 //-----------------------------------------------------------------------------
 
-class wxListBox : public wxListBoxBase
+class WXDLLIMPEXP_CORE wxListBox : public wxListBoxBase
 {
 public:
     // ctors and such
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxMDIParentFrame;
-class wxMDIClientWindow;
-class wxMDIChildFrame;
+class WXDLLIMPEXP_CORE wxMDIParentFrame;
+class WXDLLIMPEXP_CORE wxMDIClientWindow;
+class WXDLLIMPEXP_CORE wxMDIChildFrame;
 
 //-----------------------------------------------------------------------------
 // global data
 //-----------------------------------------------------------------------------
 
-extern const wxChar* wxFrameNameStr;
-extern const wxChar* wxStatusLineNameStr;
+extern WXDLLIMPEXP_CORE const wxChar* wxFrameNameStr;
+extern WXDLLIMPEXP_CORE const wxChar* wxStatusLineNameStr;
 
 //-----------------------------------------------------------------------------
 // wxMDIParentFrame
 //-----------------------------------------------------------------------------
 
-class wxMDIParentFrame: public wxFrame
+class WXDLLIMPEXP_CORE wxMDIParentFrame: public wxFrame
 {
 public:
     wxMDIParentFrame() { Init(); }
 // wxMDIChildFrame
 //-----------------------------------------------------------------------------
 
-class wxMDIChildFrame: public wxFrame
+class WXDLLIMPEXP_CORE wxMDIChildFrame: public wxFrame
 {
 public:
     wxMDIChildFrame();
 // wxMDIClientWindow
 //-----------------------------------------------------------------------------
 
-class wxMDIClientWindow: public wxWindow
+class WXDLLIMPEXP_CORE wxMDIClientWindow: public wxWindow
 {
 public:
     wxMDIClientWindow();
 
 // wxMenuBar
 //-----------------------------------------------------------------------------
 
-class wxMenuBar : public wxMenuBarBase
+class WXDLLIMPEXP_CORE wxMenuBar : public wxMenuBarBase
 {
 public:
     // ctors
 // wxMenu
 //-----------------------------------------------------------------------------
 
-class wxMenu : public wxMenuBase
+class WXDLLIMPEXP_CORE wxMenu : public wxMenuBase
 {
 public:
     // ctors & dtor
 
 // wxMenuItem
 //-----------------------------------------------------------------------------
 
-class wxMenuItem : public wxMenuItemBase
+class WXDLLIMPEXP_CORE wxMenuItem : public wxMenuItemBase
 {
 public:
     wxMenuItem(wxMenu *parentMenu = (wxMenu *)NULL,
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxMiniFrame;
+class WXDLLIMPEXP_CORE wxMiniFrame;
 
 //-----------------------------------------------------------------------------
 // wxMiniFrame
 //-----------------------------------------------------------------------------
 
-class wxMiniFrame: public wxFrame
+class WXDLLIMPEXP_CORE wxMiniFrame: public wxFrame
 {
     DECLARE_DYNAMIC_CLASS(wxMiniFrame)
 
 
 // internal class
 //-----------------------------------------------------------------------------
 
-class wxGtkNotebookPage;
+class WXDLLIMPEXP_CORE wxGtkNotebookPage;
 
 #include "wx/list.h"
 WX_DECLARE_LIST(wxGtkNotebookPage, wxGtkNotebookPagesList);
 // wxNotebook
 //-----------------------------------------------------------------------------
 
-class wxNotebook : public wxNotebookBase
+class WXDLLIMPEXP_CORE wxNotebook : public wxNotebookBase
 {
 public:
       // default for dynamic class
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxPen;
+class WXDLLIMPEXP_CORE wxPen;
 
 #if defined(__WXGTK127__) || defined(__WXGTK20__)
 typedef    gint8 wxGTKDash;
 // wxPen
 //-----------------------------------------------------------------------------
 
-class wxPen: public wxGDIObject
+class WXDLLIMPEXP_CORE wxPen: public wxGDIObject
 {
 public:
     wxPen() { }
 
 // wxPopUpWindow
 //-----------------------------------------------------------------------------
 
-class wxPopupWindow: public wxPopupWindowBase
+class WXDLLIMPEXP_CORE wxPopupWindow: public wxPopupWindowBase
 {
 public:
     wxPopupWindow() { }
 
 
 #ifdef __WXGTK20__
 // Escapes string so that it is valid Pango markup XML string:
-wxString wxEscapeStringForPangoMarkup(const wxString& str);
+WXDLLIMPEXP_CORE wxString wxEscapeStringForPangoMarkup(const wxString& str);
 #endif
 
 // The declaration for gtk_icon_size_lookup was accidentally ifdefed out in
 
 // wxRadioBox
 //-----------------------------------------------------------------------------
 
-class wxRadioBox: public wxControl
+class WXDLLIMPEXP_CORE wxRadioBox: public wxControl
 {
 public:
     wxRadioBox() { Init(); }
 
 // wxRadioButton
 //-----------------------------------------------------------------------------
 
-class wxRadioButton: public wxControl
+class WXDLLIMPEXP_CORE wxRadioButton: public wxControl
 {
 public:
     wxRadioButton() { }
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxRegion;
+class WXDLLIMPEXP_CORE wxRegion;
 
 //-----------------------------------------------------------------------------
 // constants
 // wxRegion
 // ----------------------------------------------------------------------------
 
-class wxRegion : public wxGDIObject
+class WXDLLIMPEXP_CORE wxRegion : public wxGDIObject
 {
 public:
     wxRegion() { }
 // wxRegionIterator: decomposes a region into rectangles
 // ----------------------------------------------------------------------------
 
-class wxRegionIterator: public wxObject
+class WXDLLIMPEXP_CORE wxRegionIterator: public wxObject
 {
 public:
     wxRegionIterator();
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxScrollBar;
+class WXDLLIMPEXP_CORE wxScrollBar;
 
 //-----------------------------------------------------------------------------
 // wxScrollBar
 //-----------------------------------------------------------------------------
 
-class wxScrollBar: public wxScrollBarBase
+class WXDLLIMPEXP_CORE wxScrollBar: public wxScrollBarBase
 {
 public:
     wxScrollBar()
 
 // wxSlider
 // ----------------------------------------------------------------------------
 
-class wxSlider : public wxSliderBase
+class WXDLLIMPEXP_CORE wxSlider : public wxSliderBase
 {
 public:
     wxSlider() { }
 
 // wxSpinButton
 //-----------------------------------------------------------------------------
 
-class wxSpinButton : public wxSpinButtonBase
+class WXDLLIMPEXP_CORE wxSpinButton : public wxSpinButtonBase
 {
 public:
     wxSpinButton() { }
 
 // wxSpinCtrl
 //-----------------------------------------------------------------------------
 
-class wxSpinCtrl : public wxControl
+class WXDLLIMPEXP_CORE wxSpinCtrl : public wxControl
 {
 public:
     wxSpinCtrl() {}
 
 // wxStaticBitmap
 //-----------------------------------------------------------------------------
 
-class wxStaticBitmap : public wxStaticBitmapBase
+class WXDLLIMPEXP_CORE wxStaticBitmap : public wxStaticBitmapBase
 {
 public:
     wxStaticBitmap();
 
 // wxStaticBox
 //-----------------------------------------------------------------------------
 
-class wxStaticBox : public wxStaticBoxBase
+class WXDLLIMPEXP_CORE wxStaticBox : public wxStaticBoxBase
 {
 public:
     wxStaticBox();
 
 // wxStaticLine
 // ----------------------------------------------------------------------------
 
-class wxStaticLine : public wxStaticLineBase
+class WXDLLIMPEXP_CORE wxStaticLine : public wxStaticLineBase
 {
 public:
     wxStaticLine();
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxStaticText;
+class WXDLLIMPEXP_CORE wxStaticText;
 
 //-----------------------------------------------------------------------------
 // global data
 // wxStaticText
 //-----------------------------------------------------------------------------
 
-class wxStaticText : public wxControl
+class WXDLLIMPEXP_CORE wxStaticText : public wxControl
 {
 public:
     wxStaticText();
 
 // wxToolBar
 // ----------------------------------------------------------------------------
 
-class wxToolBar : public wxToolBarBase
+class WXDLLIMPEXP_CORE wxToolBar : public wxToolBarBase
 {
 public:
     // construction/destruction
 
 // wxTextCtrl
 //-----------------------------------------------------------------------------
 
-class wxTextCtrl: public wxTextCtrlBase
+class WXDLLIMPEXP_CORE wxTextCtrl: public wxTextCtrlBase
 {
 public:
     wxTextCtrl() { Init(); }
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxToggleButton;
-class wxToggleBitmapButton;
+class WXDLLIMPEXP_CORE wxToggleButton;
+class WXDLLIMPEXP_CORE wxToggleBitmapButton;
 
 //-----------------------------------------------------------------------------
 // global data
 //-----------------------------------------------------------------------------
 
-extern const wxChar *wxCheckBoxNameStr;
+extern WXDLLIMPEXP_CORE const wxChar *wxCheckBoxNameStr;
 
 //-----------------------------------------------------------------------------
 // wxToggleBitmapButton
 //-----------------------------------------------------------------------------
 
-class wxToggleBitmapButton: public wxControl
+class WXDLLIMPEXP_CORE wxToggleBitmapButton: public wxControl
 {
 public:
     // construction/destruction
 // wxToggleButton
 //-----------------------------------------------------------------------------
 
-class wxToggleButton: public wxControl
+class WXDLLIMPEXP_CORE wxToggleButton: public wxControl
 {
 public:
     // construction/destruction
 
 // wxTimer
 //-----------------------------------------------------------------------------
 
-class wxTimer : public wxTimerBase
+class WXDLLIMPEXP_CORE wxTimer : public wxTimerBase
 {
 public:
     wxTimer() { Init(); }
 
 // forward declarations
 //-----------------------------------------------------------------------------
 
-class wxToolTip;
-class wxWindow;
+class WXDLLIMPEXP_CORE wxToolTip;
+class WXDLLIMPEXP_CORE wxWindow;
 
 //-----------------------------------------------------------------------------
 // wxToolTip
 //-----------------------------------------------------------------------------
 
-class wxToolTip : public wxObject
+class WXDLLIMPEXP_CORE wxToolTip : public wxObject
 {
 public:
     // globally change the tooltip parameters
 
 // wxTopLevelWindowGTK
 //-----------------------------------------------------------------------------
 
-class wxTopLevelWindowGTK : public wxTopLevelWindowBase
+class WXDLLIMPEXP_CORE wxTopLevelWindowGTK : public wxTopLevelWindowBase
 {
 public:
     // construction
 
 typedef long wxDataType;
 
 // fwd decl
-class  wxImageList;
+class  WXDLLIMPEXP_CORE wxImageList;
 struct wxTreeViewItem;
 
 // a callback function used for sorting tree items, it should return -1 if the
 // first item precedes the second, +1 if the second precedes the first or 0 if
 // they're equivalent
-class wxTreeItemData;
+class WXDLLIMPEXP_CORE wxTreeItemData;
 typedef int (*wxTreeItemCmpFunc)(wxTreeItemData *item1, wxTreeItemData *item2);
 
 // ----------------------------------------------------------------------------
 
 #include <gtk/gtkfeatures.h>
 #endif
 
+#include "wx/dlimpexp.h"
+
 #define GTK_PIZZA(obj)          GTK_CHECK_CAST (obj, gtk_pizza_get_type (), GtkPizza)
 #define GTK_PIZZA_CLASS(klass)  GTK_CHECK_CLASS_CAST (klass, gtk_pizza_get_type (), GtkPizzaClass)
 #define GTK_IS_PIZZA(obj)       GTK_CHECK_TYPE (obj, gtk_pizza_get_type ())
                                      GtkAdjustment  *vadjustment);
 };
 
+WXDLLIMPEXP_CORE
 GtkType    gtk_pizza_get_type        (void);
+WXDLLIMPEXP_CORE
 GtkWidget* gtk_pizza_new             (void);
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_set_shadow_type (GtkPizza          *pizza,
                                       GtkMyShadowType    type);
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_set_clear       (GtkPizza          *pizza,
                                       gboolean           clear);
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_set_filter      (GtkPizza          *pizza,
                                       gboolean           use);
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_set_external    (GtkPizza          *pizza,
                                       gboolean           expose);
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_scroll          (GtkPizza          *pizza,
                                       gint               dx,
                                       gint               dy);
 
+WXDLLIMPEXP_CORE
 gint       gtk_pizza_child_resized   (GtkPizza          *pizza,
                                       GtkWidget         *widget);
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_put             (GtkPizza          *pizza,
                                       GtkWidget         *widget,
                                       gint               x,
                                       gint               width,
                                       gint               height);
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_move            (GtkPizza          *pizza,
                                       GtkWidget         *widget,
                                       gint               x,
                                       gint               y );
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_resize          (GtkPizza          *pizza,
                                       GtkWidget         *widget,
                                       gint               width,
                                       gint               height );
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_set_size        (GtkPizza          *pizza,
                                       GtkWidget         *widget,
                                       gint               x,
 
 // callback definition for inserting a window (internal)
 //-----------------------------------------------------------------------------
 
-class wxWindowGTK;
+class WXDLLIMPEXP_CORE wxWindowGTK;
 typedef void (*wxInsertChildFunction)( wxWindowGTK*, wxWindowGTK* );
 
 //-----------------------------------------------------------------------------
 // wxWindowGTK
 //-----------------------------------------------------------------------------
 
-class wxWindowGTK : public wxWindowBase
+class WXDLLIMPEXP_CORE wxWindowGTK : public wxWindowBase
 {
 public:
     // creating the window
     DECLARE_NO_COPY_CLASS(wxWindowGTK)
 };
 
-extern wxWindow *wxFindFocusedChild(wxWindowGTK *win);
+extern WXDLLIMPEXP_CORE wxWindow *wxFindFocusedChild(wxWindowGTK *win);
 
 #endif // __GTKWINDOWH__
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxApp;
-class wxLog;
+class WXDLLIMPEXP_CORE wxApp;
+class WXDLLIMPEXP_BASE wxLog;
 
 //-----------------------------------------------------------------------------
 // wxApp
 //-----------------------------------------------------------------------------
 
-class wxApp: public wxAppBase
+class WXDLLIMPEXP_CORE wxApp: public wxAppBase
 {
 public:
     wxApp();
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxMask;
-class wxBitmap;
-class wxImage;
+class WXDLLIMPEXP_CORE wxMask;
+class WXDLLIMPEXP_CORE wxBitmap;
+class WXDLLIMPEXP_CORE wxImage;
 
 //-----------------------------------------------------------------------------
 // wxMask
 //-----------------------------------------------------------------------------
 
-class wxMask: public wxObject
+class WXDLLIMPEXP_CORE wxMask: public wxObject
 {
 public:
     wxMask();
 // wxBitmap
 //-----------------------------------------------------------------------------
 
-class wxBitmap: public wxBitmapBase
+class WXDLLIMPEXP_CORE wxBitmap: public wxBitmapBase
 {
 public:
     wxBitmap();
 // wxBitmapHandler
 //-----------------------------------------------------------------------------
 
-class wxBitmapHandler: public wxBitmapHandlerBase
+class WXDLLIMPEXP_CORE wxBitmapHandler: public wxBitmapHandlerBase
 {
 public:
     wxBitmapHandler() { }
 
 // wxBitmapButton
 // ----------------------------------------------------------------------------
 
-class wxBitmapButton: public wxBitmapButtonBase
+class WXDLLIMPEXP_CORE wxBitmapButton: public wxBitmapButtonBase
 {
 public:
     wxBitmapButton() { Init(); }
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxBrush;
+class WXDLLIMPEXP_CORE wxBrush;
 
 //-----------------------------------------------------------------------------
 // wxBrush
 //-----------------------------------------------------------------------------
 
-class wxBrush: public wxBrushBase
+class WXDLLIMPEXP_CORE wxBrush: public wxBrushBase
 {
 public:
     wxBrush() { }
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxButton;
+class WXDLLIMPEXP_CORE wxButton;
 
 //-----------------------------------------------------------------------------
 // global data
 //-----------------------------------------------------------------------------
 
-extern const wxChar *wxButtonNameStr;
+extern WXDLLIMPEXP_CORE const wxChar *wxButtonNameStr;
 
 //-----------------------------------------------------------------------------
 // wxButton
 //-----------------------------------------------------------------------------
 
-class wxButton: public wxButtonBase
+class WXDLLIMPEXP_CORE wxButton: public wxButtonBase
 {
 public:
     wxButton();
 
 // wxCheckBox
 // ----------------------------------------------------------------------------
 
-class wxCheckBox : public wxCheckBoxBase
+class WXDLLIMPEXP_CORE wxCheckBox : public wxCheckBoxBase
 {
 public:
     wxCheckBox();
 
 // wxCheckListBox
 // ----------------------------------------------------------------------------
 
-class wxCheckListBox : public wxListBox
+class WXDLLIMPEXP_CORE wxCheckListBox : public wxListBox
 {
 public:
     wxCheckListBox();
 
 // wxChoice
 //-----------------------------------------------------------------------------
 
-class wxChoice : public wxChoiceBase
+class WXDLLIMPEXP_CORE wxChoice : public wxChoiceBase
 {
 public:
     wxChoice();
 
 // wxClipboard
 // ----------------------------------------------------------------------------
 
-class wxClipboard : public wxClipboardBase
+class WXDLLIMPEXP_CORE wxClipboard : public wxClipboardBase
 {
 public:
     wxClipboard();
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxDC;
-class wxPaintDC;
-class wxBitmap;
-class wxWindow;
+class WXDLLIMPEXP_CORE wxDC;
+class WXDLLIMPEXP_CORE wxPaintDC;
+class WXDLLIMPEXP_CORE wxBitmap;
+class WXDLLIMPEXP_CORE wxWindow;
 
-class wxColour;
+class WXDLLIMPEXP_CORE wxColour;
 
 //-----------------------------------------------------------------------------
 // wxColour
 //-----------------------------------------------------------------------------
 
-class wxColour: public wxGDIObject
+class WXDLLIMPEXP_CORE wxColour: public wxGDIObject
 {
 public:
     wxColour() { }
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxComboBox;
+class WXDLLIMPEXP_CORE wxComboBox;
 
 //-----------------------------------------------------------------------------
 // global data
 //-----------------------------------------------------------------------------
 
-extern const wxChar* wxComboBoxNameStr;
-extern const wxChar* wxEmptyString;
+extern WXDLLIMPEXP_CORE const wxChar* wxComboBoxNameStr;
+extern WXDLLIMPEXP_BASE const wxChar* wxEmptyString;
 
 //-----------------------------------------------------------------------------
 // wxComboBox
 //-----------------------------------------------------------------------------
 
-class wxComboBox : public wxControl, public wxComboBoxBase
+class WXDLLIMPEXP_CORE wxComboBox : public wxControl, public wxComboBoxBase
 {
 public:
     inline wxComboBox() {}
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxControl;
+class WXDLLIMPEXP_CORE wxControl;
 
 //-----------------------------------------------------------------------------
 // wxControl
     typedef GtkWidget* (*wxGtkWidgetNewFromAdj_t)(GtkAdjustment*);
 }
 
-class wxControl : public wxControlBase
+class WXDLLIMPEXP_CORE wxControl : public wxControlBase
 {
 public:
     wxControl();
 
 // wxCursor
 //-----------------------------------------------------------------------------
 
-class wxCursor: public wxObject
+class WXDLLIMPEXP_CORE wxCursor: public wxObject
 {
 public:
 
 
 #ifndef _WX_GTK_DATAFORM_H
 #define _WX_GTK_DATAFORM_H
 
-class wxDataFormat
+class WXDLLIMPEXP_CORE wxDataFormat
 {
 public:
     // the clipboard formats under GDK are GdkAtoms
 
 // wxDataObject is the same as wxDataObjectBase under wxGTK
 // ----------------------------------------------------------------------------
 
-class wxDataObject : public wxDataObjectBase
+class WXDLLIMPEXP_CORE wxDataObject : public wxDataObjectBase
 {
 public:
     wxDataObject();
 
 // wxBitmapDataObject is a specialization of wxDataObject for bitmaps
 // ----------------------------------------------------------------------------
 
-class wxBitmapDataObject : public wxBitmapDataObjectBase
+class WXDLLIMPEXP_CORE wxBitmapDataObject : public wxBitmapDataObjectBase
 {
 public:
     // ctors
 // wxFileDataObject is a specialization of wxDataObject for file names
 // ----------------------------------------------------------------------------
 
-class wxFileDataObject : public wxFileDataObjectBase
+class WXDLLIMPEXP_CORE wxFileDataObject : public wxFileDataObjectBase
 {
 public:
     // implement base class pure virtuals
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxDC;
+class WXDLLIMPEXP_CORE wxDC;
 
 //-----------------------------------------------------------------------------
 // constants
 // wxDC
 //-----------------------------------------------------------------------------
 
-class wxDC : public wxDCBase
+class WXDLLIMPEXP_CORE wxDC : public wxDCBase
 {
 public:
     wxDC();
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxWindowDC;
-class wxPaintDC;
-class wxClientDC;
+class WXDLLIMPEXP_CORE wxWindowDC;
+class WXDLLIMPEXP_CORE wxPaintDC;
+class WXDLLIMPEXP_CORE wxClientDC;
 
 //-----------------------------------------------------------------------------
 // wxWindowDC
 //-----------------------------------------------------------------------------
 
-class wxWindowDC : public wxDC
+class WXDLLIMPEXP_CORE wxWindowDC : public wxDC
 {
 public:
     wxWindowDC();
 // wxClientDC
 //-----------------------------------------------------------------------------
 
-class wxClientDC : public wxWindowDC
+class WXDLLIMPEXP_CORE wxClientDC : public wxWindowDC
 {
 public:
     wxClientDC() { }
 // wxPaintDC
 //-----------------------------------------------------------------------------
 
-class wxPaintDC : public wxClientDC
+class WXDLLIMPEXP_CORE wxPaintDC : public wxClientDC
 {
 public:
     wxPaintDC() { }
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxMemoryDC;
+class WXDLLIMPEXP_CORE wxMemoryDC;
 
 //-----------------------------------------------------------------------------
 // wxMemoryDC
 //-----------------------------------------------------------------------------
 
-class wxMemoryDC : public wxWindowDC
+class WXDLLIMPEXP_CORE wxMemoryDC : public wxWindowDC
 {
 public:
     wxMemoryDC();
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxScreenDC;
+class WXDLLIMPEXP_CORE wxScreenDC;
 
 //-----------------------------------------------------------------------------
 // wxScreenDC
 //-----------------------------------------------------------------------------
 
-class wxScreenDC : public wxPaintDC
+class WXDLLIMPEXP_CORE wxScreenDC : public wxPaintDC
 {
 public:
     wxScreenDC();
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxDialog;
+class WXDLLIMPEXP_CORE wxDialog;
 
 //-----------------------------------------------------------------------------
 // global data
 //-----------------------------------------------------------------------------
 
-extern const wxChar *wxDialogNameStr;
+extern WXDLLIMPEXP_CORE const wxChar *wxDialogNameStr;
 
 //-----------------------------------------------------------------------------
 // wxDialog
 //-----------------------------------------------------------------------------
 
-class wxDialog: public wxDialogBase
+class WXDLLIMPEXP_CORE wxDialog: public wxDialogBase
 {
 public:
     wxDialog() { Init(); }
 
 // classes
 //-------------------------------------------------------------------------
 
-class wxWindow;
+class WXDLLIMPEXP_CORE wxWindow;
 
-class wxDropTarget;
-class wxTextDropTarget;
-class wxFileDropTarget;
+class WXDLLIMPEXP_CORE wxDropTarget;
+class WXDLLIMPEXP_CORE wxTextDropTarget;
+class WXDLLIMPEXP_CORE wxFileDropTarget;
 
-class wxDropSource;
+class WXDLLIMPEXP_CORE wxDropSource;
 
 // ----------------------------------------------------------------------------
 // macros
 // wxDropTarget
 //-------------------------------------------------------------------------
 
-class wxDropTarget: public wxDropTargetBase
+class WXDLLIMPEXP_CORE wxDropTarget: public wxDropTargetBase
 {
 public:
     wxDropTarget(wxDataObject *dataObject = (wxDataObject*) NULL );
 // wxDropSource
 //-------------------------------------------------------------------------
 
-class wxDropSource: public wxDropSourceBase
+class WXDLLIMPEXP_CORE wxDropSource: public wxDropSourceBase
 {
 public:
     // constructor. set data later with SetData()
 
 // wxFileDialog
 //-------------------------------------------------------------------------
 
-class wxFileDialog: public wxGenericFileDialog
+class WXDLLIMPEXP_CORE wxFileDialog: public wxGenericFileDialog
 {
 public:
     wxFileDialog() { }
 
 // classes
 // ----------------------------------------------------------------------------
 
-class wxDC;
-class wxPaintDC;
-class wxWindow;
+class WXDLLIMPEXP_CORE wxDC;
+class WXDLLIMPEXP_CORE wxPaintDC;
+class WXDLLIMPEXP_CORE wxWindow;
 
-class wxFont;
+class WXDLLIMPEXP_CORE wxFont;
 
 // ----------------------------------------------------------------------------
 // wxFont
 // ----------------------------------------------------------------------------
 
-class wxFont : public wxFontBase
+class WXDLLIMPEXP_CORE wxFont : public wxFontBase
 {
 public:
     // ctors and such
 
 // wxFontDialog
 //-----------------------------------------------------------------------------
 
-class wxFontDialog : public wxFontDialogBase
+class WXDLLIMPEXP_CORE wxFontDialog : public wxFontDialogBase
 {
 public:
     wxFontDialog() : wxFontDialogBase() { /* must be Create()d later */ }
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxMDIChildFrame;
-class wxMDIClientWindow;
-class wxMenu;
-class wxMenuBar;
-class wxToolBar;
-class wxStatusBar;
+class WXDLLIMPEXP_CORE wxMDIChildFrame;
+class WXDLLIMPEXP_CORE wxMDIClientWindow;
+class WXDLLIMPEXP_CORE wxMenu;
+class WXDLLIMPEXP_CORE wxMenuBar;
+class WXDLLIMPEXP_CORE wxToolBar;
+class WXDLLIMPEXP_CORE wxStatusBar;
 
 //-----------------------------------------------------------------------------
 // wxFrame
 //-----------------------------------------------------------------------------
 
-class wxFrame : public wxFrameBase
+class WXDLLIMPEXP_CORE wxFrame : public wxFrameBase
 {
 public:
     // construction
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxGauge;
+class WXDLLIMPEXP_CORE wxGauge;
 
 //-----------------------------------------------------------------------------
 // global data
 //-----------------------------------------------------------------------------
 
-extern const wxChar* wxGaugeNameStr;
+extern WXDLLIMPEXP_CORE const wxChar* wxGaugeNameStr;
 
 //-----------------------------------------------------------------------------
 // wxGaugeBox
 //-----------------------------------------------------------------------------
 
-class wxGauge: public wxControl
+class WXDLLIMPEXP_CORE wxGauge: public wxControl
 {
 public:
     wxGauge() { Init(); }
 
 #pragma interface
 #endif
 
-class wxGDIObject : public wxObject
+class WXDLLIMPEXP_CORE wxGDIObject : public wxObject
 {
 public:
     inline wxGDIObject() { m_visible = FALSE; };
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxIcon;
+class WXDLLIMPEXP_CORE wxIcon;
 
 //-----------------------------------------------------------------------------
 // wxIcon
 //-----------------------------------------------------------------------------
 
-class wxIcon: public wxBitmap
+class WXDLLIMPEXP_CORE wxIcon: public wxBitmap
 {
 public:
     wxIcon();
 
 // wxListBox
 //-----------------------------------------------------------------------------
 
-class wxListBox : public wxListBoxBase
+class WXDLLIMPEXP_CORE wxListBox : public wxListBoxBase
 {
 public:
     // ctors and such
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxMDIParentFrame;
-class wxMDIClientWindow;
-class wxMDIChildFrame;
+class WXDLLIMPEXP_CORE wxMDIParentFrame;
+class WXDLLIMPEXP_CORE wxMDIClientWindow;
+class WXDLLIMPEXP_CORE wxMDIChildFrame;
 
 //-----------------------------------------------------------------------------
 // global data
 //-----------------------------------------------------------------------------
 
-extern const wxChar* wxFrameNameStr;
-extern const wxChar* wxStatusLineNameStr;
+extern WXDLLIMPEXP_CORE const wxChar* wxFrameNameStr;
+extern WXDLLIMPEXP_CORE const wxChar* wxStatusLineNameStr;
 
 //-----------------------------------------------------------------------------
 // wxMDIParentFrame
 //-----------------------------------------------------------------------------
 
-class wxMDIParentFrame: public wxFrame
+class WXDLLIMPEXP_CORE wxMDIParentFrame: public wxFrame
 {
 public:
     wxMDIParentFrame() { Init(); }
 // wxMDIChildFrame
 //-----------------------------------------------------------------------------
 
-class wxMDIChildFrame: public wxFrame
+class WXDLLIMPEXP_CORE wxMDIChildFrame: public wxFrame
 {
 public:
     wxMDIChildFrame();
 // wxMDIClientWindow
 //-----------------------------------------------------------------------------
 
-class wxMDIClientWindow: public wxWindow
+class WXDLLIMPEXP_CORE wxMDIClientWindow: public wxWindow
 {
 public:
     wxMDIClientWindow();
 
 // wxMenuBar
 //-----------------------------------------------------------------------------
 
-class wxMenuBar : public wxMenuBarBase
+class WXDLLIMPEXP_CORE wxMenuBar : public wxMenuBarBase
 {
 public:
     // ctors
 // wxMenu
 //-----------------------------------------------------------------------------
 
-class wxMenu : public wxMenuBase
+class WXDLLIMPEXP_CORE wxMenu : public wxMenuBase
 {
 public:
     // ctors & dtor
 
 // wxMenuItem
 //-----------------------------------------------------------------------------
 
-class wxMenuItem : public wxMenuItemBase
+class WXDLLIMPEXP_CORE wxMenuItem : public wxMenuItemBase
 {
 public:
     wxMenuItem(wxMenu *parentMenu = (wxMenu *)NULL,
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxMiniFrame;
+class WXDLLIMPEXP_CORE wxMiniFrame;
 
 //-----------------------------------------------------------------------------
 // wxMiniFrame
 //-----------------------------------------------------------------------------
 
-class wxMiniFrame: public wxFrame
+class WXDLLIMPEXP_CORE wxMiniFrame: public wxFrame
 {
     DECLARE_DYNAMIC_CLASS(wxMiniFrame)
 
 
 // internal class
 //-----------------------------------------------------------------------------
 
-class wxGtkNotebookPage;
+class WXDLLIMPEXP_CORE wxGtkNotebookPage;
 
 #include "wx/list.h"
 WX_DECLARE_LIST(wxGtkNotebookPage, wxGtkNotebookPagesList);
 // wxNotebook
 //-----------------------------------------------------------------------------
 
-class wxNotebook : public wxNotebookBase
+class WXDLLIMPEXP_CORE wxNotebook : public wxNotebookBase
 {
 public:
       // default for dynamic class
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxPen;
+class WXDLLIMPEXP_CORE wxPen;
 
 #if defined(__WXGTK127__) || defined(__WXGTK20__)
 typedef    gint8 wxGTKDash;
 // wxPen
 //-----------------------------------------------------------------------------
 
-class wxPen: public wxGDIObject
+class WXDLLIMPEXP_CORE wxPen: public wxGDIObject
 {
 public:
     wxPen() { }
 
 // wxPopUpWindow
 //-----------------------------------------------------------------------------
 
-class wxPopupWindow: public wxPopupWindowBase
+class WXDLLIMPEXP_CORE wxPopupWindow: public wxPopupWindowBase
 {
 public:
     wxPopupWindow() { }
 
 
 #ifdef __WXGTK20__
 // Escapes string so that it is valid Pango markup XML string:
-wxString wxEscapeStringForPangoMarkup(const wxString& str);
+WXDLLIMPEXP_CORE wxString wxEscapeStringForPangoMarkup(const wxString& str);
 #endif
 
 // The declaration for gtk_icon_size_lookup was accidentally ifdefed out in
 
 // wxRadioBox
 //-----------------------------------------------------------------------------
 
-class wxRadioBox: public wxControl
+class WXDLLIMPEXP_CORE wxRadioBox: public wxControl
 {
 public:
     wxRadioBox() { Init(); }
 
 // wxRadioButton
 //-----------------------------------------------------------------------------
 
-class wxRadioButton: public wxControl
+class WXDLLIMPEXP_CORE wxRadioButton: public wxControl
 {
 public:
     wxRadioButton() { }
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxRegion;
+class WXDLLIMPEXP_CORE wxRegion;
 
 //-----------------------------------------------------------------------------
 // constants
 // wxRegion
 // ----------------------------------------------------------------------------
 
-class wxRegion : public wxGDIObject
+class WXDLLIMPEXP_CORE wxRegion : public wxGDIObject
 {
 public:
     wxRegion() { }
 // wxRegionIterator: decomposes a region into rectangles
 // ----------------------------------------------------------------------------
 
-class wxRegionIterator: public wxObject
+class WXDLLIMPEXP_CORE wxRegionIterator: public wxObject
 {
 public:
     wxRegionIterator();
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxScrollBar;
+class WXDLLIMPEXP_CORE wxScrollBar;
 
 //-----------------------------------------------------------------------------
 // wxScrollBar
 //-----------------------------------------------------------------------------
 
-class wxScrollBar: public wxScrollBarBase
+class WXDLLIMPEXP_CORE wxScrollBar: public wxScrollBarBase
 {
 public:
     wxScrollBar()
 
 // wxSlider
 // ----------------------------------------------------------------------------
 
-class wxSlider : public wxSliderBase
+class WXDLLIMPEXP_CORE wxSlider : public wxSliderBase
 {
 public:
     wxSlider() { }
 
 // wxSpinButton
 //-----------------------------------------------------------------------------
 
-class wxSpinButton : public wxSpinButtonBase
+class WXDLLIMPEXP_CORE wxSpinButton : public wxSpinButtonBase
 {
 public:
     wxSpinButton() { }
 
 // wxSpinCtrl
 //-----------------------------------------------------------------------------
 
-class wxSpinCtrl : public wxControl
+class WXDLLIMPEXP_CORE wxSpinCtrl : public wxControl
 {
 public:
     wxSpinCtrl() {}
 
 // wxStaticBitmap
 //-----------------------------------------------------------------------------
 
-class wxStaticBitmap : public wxStaticBitmapBase
+class WXDLLIMPEXP_CORE wxStaticBitmap : public wxStaticBitmapBase
 {
 public:
     wxStaticBitmap();
 
 // wxStaticBox
 //-----------------------------------------------------------------------------
 
-class wxStaticBox : public wxStaticBoxBase
+class WXDLLIMPEXP_CORE wxStaticBox : public wxStaticBoxBase
 {
 public:
     wxStaticBox();
 
 // wxStaticLine
 // ----------------------------------------------------------------------------
 
-class wxStaticLine : public wxStaticLineBase
+class WXDLLIMPEXP_CORE wxStaticLine : public wxStaticLineBase
 {
 public:
     wxStaticLine();
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxStaticText;
+class WXDLLIMPEXP_CORE wxStaticText;
 
 //-----------------------------------------------------------------------------
 // global data
 // wxStaticText
 //-----------------------------------------------------------------------------
 
-class wxStaticText : public wxControl
+class WXDLLIMPEXP_CORE wxStaticText : public wxControl
 {
 public:
     wxStaticText();
 
 // wxToolBar
 // ----------------------------------------------------------------------------
 
-class wxToolBar : public wxToolBarBase
+class WXDLLIMPEXP_CORE wxToolBar : public wxToolBarBase
 {
 public:
     // construction/destruction
 
 // wxTextCtrl
 //-----------------------------------------------------------------------------
 
-class wxTextCtrl: public wxTextCtrlBase
+class WXDLLIMPEXP_CORE wxTextCtrl: public wxTextCtrlBase
 {
 public:
     wxTextCtrl() { Init(); }
 
 // classes
 //-----------------------------------------------------------------------------
 
-class wxToggleButton;
-class wxToggleBitmapButton;
+class WXDLLIMPEXP_CORE wxToggleButton;
+class WXDLLIMPEXP_CORE wxToggleBitmapButton;
 
 //-----------------------------------------------------------------------------
 // global data
 //-----------------------------------------------------------------------------
 
-extern const wxChar *wxCheckBoxNameStr;
+extern WXDLLIMPEXP_CORE const wxChar *wxCheckBoxNameStr;
 
 //-----------------------------------------------------------------------------
 // wxToggleBitmapButton
 //-----------------------------------------------------------------------------
 
-class wxToggleBitmapButton: public wxControl
+class WXDLLIMPEXP_CORE wxToggleBitmapButton: public wxControl
 {
 public:
     // construction/destruction
 // wxToggleButton
 //-----------------------------------------------------------------------------
 
-class wxToggleButton: public wxControl
+class WXDLLIMPEXP_CORE wxToggleButton: public wxControl
 {
 public:
     // construction/destruction
 
 // wxTimer
 //-----------------------------------------------------------------------------
 
-class wxTimer : public wxTimerBase
+class WXDLLIMPEXP_CORE wxTimer : public wxTimerBase
 {
 public:
     wxTimer() { Init(); }
 
 // forward declarations
 //-----------------------------------------------------------------------------
 
-class wxToolTip;
-class wxWindow;
+class WXDLLIMPEXP_CORE wxToolTip;
+class WXDLLIMPEXP_CORE wxWindow;
 
 //-----------------------------------------------------------------------------
 // wxToolTip
 //-----------------------------------------------------------------------------
 
-class wxToolTip : public wxObject
+class WXDLLIMPEXP_CORE wxToolTip : public wxObject
 {
 public:
     // globally change the tooltip parameters
 
 // wxTopLevelWindowGTK
 //-----------------------------------------------------------------------------
 
-class wxTopLevelWindowGTK : public wxTopLevelWindowBase
+class WXDLLIMPEXP_CORE wxTopLevelWindowGTK : public wxTopLevelWindowBase
 {
 public:
     // construction
 
 typedef long wxDataType;
 
 // fwd decl
-class  wxImageList;
+class  WXDLLIMPEXP_CORE wxImageList;
 struct wxTreeViewItem;
 
 // a callback function used for sorting tree items, it should return -1 if the
 // first item precedes the second, +1 if the second precedes the first or 0 if
 // they're equivalent
-class wxTreeItemData;
+class WXDLLIMPEXP_CORE wxTreeItemData;
 typedef int (*wxTreeItemCmpFunc)(wxTreeItemData *item1, wxTreeItemData *item2);
 
 // ----------------------------------------------------------------------------
 
 #include <gtk/gtkfeatures.h>
 #endif
 
+#include "wx/dlimpexp.h"
+
 #define GTK_PIZZA(obj)          GTK_CHECK_CAST (obj, gtk_pizza_get_type (), GtkPizza)
 #define GTK_PIZZA_CLASS(klass)  GTK_CHECK_CLASS_CAST (klass, gtk_pizza_get_type (), GtkPizzaClass)
 #define GTK_IS_PIZZA(obj)       GTK_CHECK_TYPE (obj, gtk_pizza_get_type ())
                                      GtkAdjustment  *vadjustment);
 };
 
+WXDLLIMPEXP_CORE
 GtkType    gtk_pizza_get_type        (void);
+WXDLLIMPEXP_CORE
 GtkWidget* gtk_pizza_new             (void);
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_set_shadow_type (GtkPizza          *pizza,
                                       GtkMyShadowType    type);
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_set_clear       (GtkPizza          *pizza,
                                       gboolean           clear);
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_set_filter      (GtkPizza          *pizza,
                                       gboolean           use);
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_set_external    (GtkPizza          *pizza,
                                       gboolean           expose);
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_scroll          (GtkPizza          *pizza,
                                       gint               dx,
                                       gint               dy);
 
+WXDLLIMPEXP_CORE
 gint       gtk_pizza_child_resized   (GtkPizza          *pizza,
                                       GtkWidget         *widget);
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_put             (GtkPizza          *pizza,
                                       GtkWidget         *widget,
                                       gint               x,
                                       gint               width,
                                       gint               height);
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_move            (GtkPizza          *pizza,
                                       GtkWidget         *widget,
                                       gint               x,
                                       gint               y );
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_resize          (GtkPizza          *pizza,
                                       GtkWidget         *widget,
                                       gint               width,
                                       gint               height );
 
+WXDLLIMPEXP_CORE
 void       gtk_pizza_set_size        (GtkPizza          *pizza,
                                       GtkWidget         *widget,
                                       gint               x,
 
 // callback definition for inserting a window (internal)
 //-----------------------------------------------------------------------------
 
-class wxWindowGTK;
+class WXDLLIMPEXP_CORE wxWindowGTK;
 typedef void (*wxInsertChildFunction)( wxWindowGTK*, wxWindowGTK* );
 
 //-----------------------------------------------------------------------------
 // wxWindowGTK
 //-----------------------------------------------------------------------------
 
-class wxWindowGTK : public wxWindowBase
+class WXDLLIMPEXP_CORE wxWindowGTK : public wxWindowBase
 {
 public:
     // creating the window
     DECLARE_NO_COPY_CLASS(wxWindowGTK)
 };
 
-extern wxWindow *wxFindFocusedChild(wxWindowGTK *win);
+extern WXDLLIMPEXP_CORE wxWindow *wxFindFocusedChild(wxWindowGTK *win);
 
 #endif // __GTKWINDOWH__
 
 
 #include "wx/unix/pipe.h"
 
-class wxProcess;
+class WXDLLIMPEXP_BASE wxProcess;
 class wxStreamTempInputBuffer;
 
 // if pid > 0, the execution is async and the data is freed in the callback
 
 // this function is called when the process terminates from port specific
 // callback function and is common to all ports (src/unix/utilsunx.cpp)
-extern void wxHandleProcessTermination(wxEndProcessData *proc_data);
+extern WXDLLIMPEXP_BASE void wxHandleProcessTermination(wxEndProcessData *proc_data);
 
 // this function is called to associate the port-specific callback with the
 // child process. The return valus is port-specific.
-extern int wxAddProcessCallback(wxEndProcessData *proc_data, int fd);
+extern WXDLLIMPEXP_CORE int wxAddProcessCallback(wxEndProcessData *proc_data, int fd);
 
 #if defined(__DARWIN__) && (defined(__WXMAC__) || defined(__WXCOCOA__))
 // For ports (e.g. DARWIN) which can add callbacks based on the pid
 
 // Pop-up menu stuff
 //-----------------------------------------------------------------------------
 
-extern "C" void gtk_pop_hide_callback( GtkWidget *widget, bool* is_waiting  );
+extern "C" WXDLLIMPEXP_CORE void gtk_pop_hide_callback( GtkWidget *widget, bool* is_waiting  );
 
-extern void SetInvokingWindow( wxMenu *menu, wxWindow* win );
+extern WXDLLIMPEXP_CORE void SetInvokingWindow( wxMenu *menu, wxWindow* win );
 
-extern "C" void wxPopupMenuPositionCallback( GtkMenu *menu,
-                                             gint *x, gint *y,
-                                             gboolean * WXUNUSED(whatever),
-                                             gpointer user_data );
+extern "C" WXDLLIMPEXP_CORE
+    void wxPopupMenuPositionCallback( GtkMenu *menu,
+                                      gint *x, gint *y,
+                                      gboolean * WXUNUSED(whatever),
+                                      gpointer user_data );
 
 #if wxUSE_MENUS_NATIVE
 bool wxTaskBarIconAreaBase::DoPopupMenu( wxMenu *menu, int x, int y )
 
 
 #if wxUSE_MENUS_NATIVE
 
-extern "C"
+extern "C" WXDLLIMPEXP_CORE
 void gtk_pop_hide_callback( GtkWidget *WXUNUSED(widget), bool* is_waiting  )
 {
     *is_waiting = FALSE;
 }
 
-void SetInvokingWindow( wxMenu *menu, wxWindow* win )
+WXDLLIMPEXP_CORE void SetInvokingWindow( wxMenu *menu, wxWindow* win )
 {
     menu->SetInvokingWindow( win );
 
     }
 }
 
-extern "C" void wxPopupMenuPositionCallback( GtkMenu *menu,
-                                             gint *x, gint *y,
+extern "C" WXDLLIMPEXP_CORE
+void wxPopupMenuPositionCallback( GtkMenu *menu,
+                                  gint *x, gint *y,
 #ifdef __WXGTK20__
-                                             gboolean * WXUNUSED(whatever),
+                                  gboolean * WXUNUSED(whatever),
 #endif
-                                             gpointer user_data )
+                                  gpointer user_data )
 {
     // ensure that the menu appears entirely on screen
     GtkRequisition req;
 
 // Pop-up menu stuff
 //-----------------------------------------------------------------------------
 
-extern "C" void gtk_pop_hide_callback( GtkWidget *widget, bool* is_waiting  );
+extern "C" WXDLLIMPEXP_CORE void gtk_pop_hide_callback( GtkWidget *widget, bool* is_waiting  );
 
-extern void SetInvokingWindow( wxMenu *menu, wxWindow* win );
+extern WXDLLIMPEXP_CORE void SetInvokingWindow( wxMenu *menu, wxWindow* win );
 
-extern "C" void wxPopupMenuPositionCallback( GtkMenu *menu,
-                                             gint *x, gint *y,
-                                             gboolean * WXUNUSED(whatever),
-                                             gpointer user_data );
+extern "C" WXDLLIMPEXP_CORE
+    void wxPopupMenuPositionCallback( GtkMenu *menu,
+                                      gint *x, gint *y,
+                                      gboolean * WXUNUSED(whatever),
+                                      gpointer user_data );
 
 #if wxUSE_MENUS_NATIVE
 bool wxTaskBarIconAreaBase::DoPopupMenu( wxMenu *menu, int x, int y )
 
 
 #if wxUSE_MENUS_NATIVE
 
-extern "C"
+extern "C" WXDLLIMPEXP_CORE
 void gtk_pop_hide_callback( GtkWidget *WXUNUSED(widget), bool* is_waiting  )
 {
     *is_waiting = FALSE;
 }
 
-void SetInvokingWindow( wxMenu *menu, wxWindow* win )
+WXDLLIMPEXP_CORE void SetInvokingWindow( wxMenu *menu, wxWindow* win )
 {
     menu->SetInvokingWindow( win );
 
     }
 }
 
-extern "C" void wxPopupMenuPositionCallback( GtkMenu *menu,
-                                             gint *x, gint *y,
+extern "C" WXDLLIMPEXP_CORE
+void wxPopupMenuPositionCallback( GtkMenu *menu,
+                                  gint *x, gint *y,
 #ifdef __WXGTK20__
-                                             gboolean * WXUNUSED(whatever),
+                                  gboolean * WXUNUSED(whatever),
 #endif
-                                             gpointer user_data )
+                                  gpointer user_data )
 {
     // ensure that the menu appears entirely on screen
     GtkRequisition req;