Remote Call Framework 3.3
Export.hpp
1 
2 //******************************************************************************
3 // RCF - Remote Call Framework
4 //
5 // Copyright (c) 2005 - 2022, Delta V Software. All rights reserved.
6 // https://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 under GPL terms.
12 //
13 // Version: 3.3
14 // Contact: support <at> deltavsoft.com
15 //
16 //******************************************************************************
17 
18 #ifndef INCLUDE_RCF_EXPORT_HPP
19 #define INCLUDE_RCF_EXPORT_HPP
20 
21 #if defined(__GNUC__) && __GNUC__ >= 4
22  #ifdef RCF_BUILD_DLL
23  #define RCF_EXPORT __attribute__((visibility("default")))
24  #else
25  #define RCF_EXPORT __attribute__((visibility("default")))
26  #endif
27 #elif defined(__GNUC__)
28  #ifdef RCF_BUILD_DLL
29  #define RCF_EXPORT
30  #else
31  #define RCF_EXPORT
32  #endif
33 #else
34  #ifdef RCF_BUILD_DLL
35  #define RCF_EXPORT __declspec(dllexport)
36  #else
37  #define RCF_EXPORT
38  #endif
39 #endif
40 
41 #if defined(RCF_BUILD_DLL) && defined(_MSC_VER) && !defined(_DLL)
42 #error "Error: DLL builds of RCF require dynamic runtime linking. Select one of the DLL options in Properties -> C/C++ -> Code Generation -> Runtime Library."
43 #endif
44 
45 #endif // ! INCLUDE_RCF_EXPORT_HPP