-#if defined(__VISUALC__) || (defined(__BORLANDC__) && (__BORLANDC__ >= 0x500))
+#if defined(__VISUALC__) || \
+ (defined(__BORLANDC__) && (__BORLANDC__ >= 0x500)) || \
+ (defined(__GNUG__) && defined(__MSVCRT__))
#if defined(__BORLANDC__) && !defined(__MT__)
// I can't set -tWM in the IDE (anyone?) so have to do this
#if defined(__BORLANDC__) && !defined(__MT__)
// I can't set -tWM in the IDE (anyone?) so have to do this
// creation instead of Win32 API one because otherwise we will have memory
// leaks if the thread uses C RTL (and most threads do)
#if defined(__VISUALC__) || \
// creation instead of Win32 API one because otherwise we will have memory
// leaks if the thread uses C RTL (and most threads do)
#if defined(__VISUALC__) || \
typedef unsigned (__stdcall *RtlThreadStart)(void *);
m_hThread = (HANDLE)_beginthreadex(NULL, 0,
typedef unsigned (__stdcall *RtlThreadStart)(void *);
m_hThread = (HANDLE)_beginthreadex(NULL, 0,
-#if defined(__VISUALC__) || (defined(__BORLANDC__) && (__BORLANDC__ >= 0x500))
+#if defined(__VISUALC__) || \
+ (defined(__BORLANDC__) && (__BORLANDC__ >= 0x500)) || \
+ (defined(__GNUG__) && defined(__MSVCRT__))