made opencv headers windows.h-less (Bug #2122)
This commit is contained in:
parent
df8364ce63
commit
a135e862c1
@ -67,6 +67,7 @@
|
||||
# undef small
|
||||
# undef min
|
||||
# undef max
|
||||
# undef abs
|
||||
#else
|
||||
# include <pthread.h>
|
||||
#endif
|
||||
|
@ -75,16 +75,9 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#elif defined WIN32 || defined _WIN32
|
||||
#define WIN32_MEAN_AND_LEAN
|
||||
#ifndef _WIN32_WINNT // This is needed for the declaration of TryEnterCriticalSection in winbase.h with Visual Studio 2005 (and older?)
|
||||
#define _WIN32_WINNT 0x0400 // http://msdn.microsoft.com/en-us/library/ms686857(VS.85).aspx
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#undef min
|
||||
#undef max
|
||||
#undef abs
|
||||
#define CV_XADD(addr,delta) InterlockedExchangeAdd((long volatile*)(addr), (delta))
|
||||
#elif defined WIN32 || defined _WIN32 || defined WINCE
|
||||
namespace cv { CV_EXPORTS int _interlockedExchangeAdd(int* addr, int delta); }
|
||||
#define CV_XADD cv::_interlockedExchangeAdd
|
||||
|
||||
#else
|
||||
static inline int CV_XADD(int* addr, int delta)
|
||||
|
@ -947,6 +947,15 @@ struct Mutex::Impl
|
||||
CRITICAL_SECTION cs;
|
||||
int refcount;
|
||||
};
|
||||
|
||||
int _interlockedExchangeAdd(int* addr, int delta)
|
||||
{
|
||||
#if defined _MSC_VER && _MSC_VER >= 1500
|
||||
return (int)_InterlockedExchangeAdd((long volatile*)addr, delta);
|
||||
#else
|
||||
return (int)InterlockedExchangeAdd((long volatile*)addr, delta);
|
||||
#endif
|
||||
}
|
||||
|
||||
#elif defined __APPLE__
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user