diff --git a/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw b/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw index 27e815dcf..a4f3f9e53 100644 --- a/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw +++ b/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw @@ -26,7 +26,7 @@ LOADABLE_SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX) # Override linking with gcc library from CONFIG.gnuCommon GNU_LDLIBS_YES = -OPT_CFLAGS_NO = -O3 -g -OPT_CXXFLAGS_NO = -O3 -g +OPT_CFLAGS_NO = -g +OPT_CXXFLAGS_NO = -g OP_SYS_LDLIBS = -lws2_32 diff --git a/src/ca/bhe.cpp b/src/ca/bhe.cpp index b1026052b..8ede482b4 100644 --- a/src/ca/bhe.cpp +++ b/src/ca/bhe.cpp @@ -360,6 +360,6 @@ void bheFreeStore::release ( void * pCadaver ) freeList.release ( pCadaver ); } -epicsShareFunc bheMemoryManager::~bheMemoryManager () {} +bheMemoryManager::~bheMemoryManager () {} diff --git a/src/ca/bhe.h b/src/ca/bhe.h index 75312e051..1660e485b 100644 --- a/src/ca/bhe.h +++ b/src/ca/bhe.h @@ -45,9 +45,9 @@ class bheMemoryManager; // using a pure abstract wrapper class around the free list avoids // Tornado 2.0.1 GNU compiler bugs -class bheMemoryManager { +class epicsShareClass bheMemoryManager { public: - epicsShareFunc virtual ~bheMemoryManager (); + virtual ~bheMemoryManager (); virtual void * allocate ( size_t ) = 0; virtual void release ( void * ) = 0; }; diff --git a/src/ca/repeaterSubscribeTimer.h b/src/ca/repeaterSubscribeTimer.h index ee4332c43..0a23d16d3 100644 --- a/src/ca/repeaterSubscribeTimer.h +++ b/src/ca/repeaterSubscribeTimer.h @@ -28,6 +28,18 @@ #include "epicsTimer.h" +#ifdef epicsExportSharedSymbols +# define repeaterSubscribeTimerh_epicsExportSharedSymbols +# undef epicsExportSharedSymbols +#endif + +#include "epicsTimer.h" + +#ifdef repeaterSubscribeTimerh_epicsExportSharedSymbols +# define epicsExportSharedSymbols +# include "shareLib.h" +#endif + class epicsMutex; class cacContextNotify; diff --git a/src/ca/tcpRecvWatchdog.h b/src/ca/tcpRecvWatchdog.h index 488cfac19..0b15e22d8 100644 --- a/src/ca/tcpRecvWatchdog.h +++ b/src/ca/tcpRecvWatchdog.h @@ -26,8 +26,18 @@ #ifndef tcpRecvWatchdogh #define tcpRecvWatchdogh +#ifdef epicsExportSharedSymbols +# define tcpRecvWatchdogh_epicsExportSharedSymbols +# undef epicsExportSharedSymbols +#endif + #include "epicsTimer.h" +#ifdef tcpRecvWatchdogh_epicsExportSharedSymbols +# define epicsExportSharedSymbols +# include "shareLib.h" +#endif + class tcpiiu; class tcpRecvWatchdog : private epicsTimerNotify { diff --git a/src/ca/tcpSendWatchdog.h b/src/ca/tcpSendWatchdog.h index 8b49e83bf..05a2dfe75 100644 --- a/src/ca/tcpSendWatchdog.h +++ b/src/ca/tcpSendWatchdog.h @@ -26,8 +26,19 @@ #ifndef tcpSendWatchdogh #define tcpSendWatchdogh + +#ifdef epicsExportSharedSymbols +# define tcpSendWatchdogh_epicsExportSharedSymbols +# undef epicsExportSharedSymbols +#endif + #include "epicsTimer.h" +#ifdef tcpSendWatchdogh_epicsExportSharedSymbols +# define epicsExportSharedSymbols +# include "shareLib.h" +#endif + class tcpSendWatchdog : private epicsTimerNotify { public: tcpSendWatchdog ( diff --git a/src/libCom/timer/epicsTimer.h b/src/libCom/timer/epicsTimer.h index 4c59467e0..769174bcc 100644 --- a/src/libCom/timer/epicsTimer.h +++ b/src/libCom/timer/epicsTimer.h @@ -28,7 +28,7 @@ */ /* code using a timer must implement epicsTimerNotify */ -class epicsTimerNotify { +class epicsShareClass epicsTimerNotify { public: enum restart_t { noRestart, restart }; class expireStatus { @@ -41,13 +41,13 @@ public: double delay; }; - epicsShareFunc virtual ~epicsTimerNotify () = 0; + virtual ~epicsTimerNotify () = 0; /* return "noRestart" or "expireStatus ( restart, 30.0 )" */ virtual expireStatus expire ( const epicsTime & currentTime ) = 0; - epicsShareFunc virtual void show ( unsigned int level ) const; + virtual void show ( unsigned int level ) const; }; -class epicsTimer { /* X aCC 655 */ +class epicsShareClass epicsTimer { /* X aCC 655 */ public: /* calls cancel (see warning below) and then destroys the timer */ virtual void destroy () = 0; @@ -67,7 +67,7 @@ public: double getExpireDelay (); virtual void show ( unsigned int level ) const = 0; protected: - epicsShareFunc virtual ~epicsTimer () = 0; /* protected => delete() must not be called */ + virtual ~epicsTimer () = 0; /* protected => delete() must not be called */ }; class epicsTimerQueue { /* X aCC 655 */