HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_API.h
Go to the documentation of this file.
1 
2 #ifndef __UT_API_h__
3 #define __UT_API_h__
4 
5 #include <SYS/SYS_Visibility.h>
6 
7 #ifdef UT_EXPORTS
8 #define UT_API SYS_VISIBILITY_EXPORT
9 #define UT_API_TMPL SYS_VISIBILITY_EXPORT_TMPL
10 #define UT_API_TINST SYS_VISIBILITY_EXPORT_TINST
11 #define UT_EXTERN_TEMPLATE(CLASS_) SYS_VISIBILITY_EXPORT_EXTERN_TEMPLATE(CLASS_)
12 #else
13 #define UT_API SYS_VISIBILITY_IMPORT
14 #define UT_API_TMPL SYS_VISIBILITY_IMPORT_TMPL
15 #define UT_API_TINST SYS_VISIBILITY_IMPORT_TINST
16 #define UT_EXTERN_TEMPLATE(CLASS_) SYS_VISIBILITY_IMPORT_EXTERN_TEMPLATE(CLASS_)
17 #endif
18 
19 // Check that we are being built with valid compiler options.
20 #ifdef WIN32
21  #if _MSC_VER < 1300
22  #error "You must compile with MS Visual C++ .NET 2003"
23  #endif
24  #ifndef __cplusplus
25  #error "You must compile with the /TP switch (C++ Compilation)"
26  #endif
27  #ifndef _MT
28  #error "You must compile with the /MD or /MT switch (Multithreaded CRT)"
29  #endif
30  #ifndef _CPPUNWIND
31  #error "You must compile with the /GX switch (Exception Handling)"
32  #endif
33  #ifndef _CPPRTTI
34  #error "You must compile with the /GR switch (RTTI)"
35  #endif
36  #ifndef WIN32
37  #error "You must define WIN32"
38  #endif
39  #ifdef _M_IX86
40  #ifndef SESI_LITTLE_ENDIAN
41  #error "You must define SESI_LITTLE_ENDIAN for IX86 compilation"
42  #endif
43  #endif
44 #endif
45 
46 #endif