MetaWear C++ API  0.20.0
C++ implementation of the MetaWear protocol
dllmarker.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #if defined _WIN32 || defined __CYGWIN__
9 #define METAWEAR_HELPER_DLL_IMPORT __declspec(dllimport)
10 #define METAWEAR_HELPER_DLL_EXPORT __declspec(dllexport)
11 #define METAWEAR_HELPER_DLL_LOCAL
12 #else
13 #if __GNUC__ >= 4
14 #define METAWEAR_HELPER_DLL_IMPORT __attribute__ ((visibility ("default")))
15 #define METAWEAR_HELPER_DLL_EXPORT __attribute__ ((visibility ("default")))
16 #define METAWEAR_HELPER_DLL_LOCAL __attribute__ ((visibility ("hidden")))
17 #else
18 #define METAWEAR_HELPER_DLL_IMPORT
19 #define METAWEAR_HELPER_DLL_EXPORT
20 #define METAWEAR_HELPER_DLL_LOCAL
21 #endif
22 #endif
23 
24 #if defined _WINDLL || defined METAWEAR_DLL // defined if METAWEAR is compiled as a DLL
25 #ifdef METAWEAR_DLL_EXPORTS
27 #define METAWEAR_API METAWEAR_HELPER_DLL_EXPORT
28 #else
29 #define METAWEAR_API METAWEAR_HELPER_DLL_IMPORT
30 #endif // METAWEAR_DLL_EXPORTS
32 #define METAWEAR_LOCAL METAWEAR_HELPER_DLL_LOCAL
33 #else // METAWEAR_DLL is not defined: this means METAWEAR is a static lib.
34 #define METAWEAR_API
35 #define METAWEAR_LOCAL
36 #endif // METAWEAR_DLL
37