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(...) \
12  SYS_VISIBILITY_EXPORT_EXTERN_TEMPLATE(__VA_ARGS__)
13 #else
14 #define UT_API SYS_VISIBILITY_IMPORT
15 #define UT_API_TMPL SYS_VISIBILITY_IMPORT_TMPL
16 #define UT_API_TINST SYS_VISIBILITY_IMPORT_TINST
17 #define UT_EXTERN_TEMPLATE(...) \
18  SYS_VISIBILITY_IMPORT_EXTERN_TEMPLATE(__VA_ARGS__)
19 #endif
20 
21 // Check that we are being built with valid compiler options.
22 #ifdef WIN32
23  #if _MSC_VER < 1300
24  #error "You must compile with MS Visual C++ .NET 2003"
25  #endif
26  #ifndef __cplusplus
27  #error "You must compile with the /TP switch (C++ Compilation)"
28  #endif
29  #ifndef _MT
30  #error "You must compile with the /MD or /MT switch (Multithreaded CRT)"
31  #endif
32  #ifndef _CPPUNWIND
33  #error "You must compile with the /GX switch (Exception Handling)"
34  #endif
35  #ifndef _CPPRTTI
36  #error "You must compile with the /GR switch (RTTI)"
37  #endif
38  #ifndef WIN32
39  #error "You must define WIN32"
40  #endif
41  #ifdef _M_IX86
42  #ifndef SESI_LITTLE_ENDIAN
43  #error "You must define SESI_LITTLE_ENDIAN for IX86 compilation"
44  #endif
45  #endif
46 #endif
47 
48 #endif