Remote Call Framework 3.2
Export.hpp
1 
2 //******************************************************************************
3 // RCF - Remote Call Framework
4 //
5 // Copyright (c) 2005 - 2020, Delta V Software. All rights reserved.
6 // http://www.deltavsoft.com
7 //
8 // RCF is distributed under dual licenses - closed source or GPL.
9 // Consult your particular license for conditions of use.
10 //
11 // If you have not purchased a commercial license, you are using RCF
12 // under GPL terms.
13 //
14 // Version: 3.2
15 // Contact: support <at> deltavsoft.com
16 //
17 //******************************************************************************
18 
19 #ifndef INCLUDE_RCF_EXPORT_HPP
20 #define INCLUDE_RCF_EXPORT_HPP
21 
22 #if defined(__GNUC__) && __GNUC__ >= 4
23  #ifdef RCF_BUILD_DLL
24  #define RCF_EXPORT __attribute__((visibility("default")))
25  #else
26  #define RCF_EXPORT __attribute__((visibility("default")))
27  #endif
28 #elif defined(__GNUC__)
29  #ifdef RCF_BUILD_DLL
30  #define RCF_EXPORT
31  #else
32  #define RCF_EXPORT
33  #endif
34 #else
35  #ifdef RCF_BUILD_DLL
36  #define RCF_EXPORT __declspec(dllexport)
37  #else
38  #define RCF_EXPORT
39  #endif
40 #endif
41 
42 #if defined(RCF_BUILD_DLL) && defined(_MSC_VER) && !defined(_DLL)
43 #error "Error: DLL builds of RCF require dynamic runtime linking. Select one of the DLL options in Properties -> C/C++ -> Code Generation -> Runtime Library."
44 #endif
45 
46 #endif // ! INCLUDE_RCF_EXPORT_HPP