PLCnext API Documentation
25.0.2.69
Arp
System
Core
DllConfig.h
1
2
//
3
// Copyright Phoenix Contact GmbH & Co. KG
4
//
6
#pragma once
7
#include "Arp/System/Core/CxxConfig.h"
8
9
#ifndef ARP_USE_ARP_SYSTEM_CORE
10
11
// nothing to include here, included by Arp.hpp
12
13
#else
14
15
16
#ifndef ARP_INSIDE_ARP_H
17
#error Never include 'DllConfig.h' directly, just include 'Arp.h'
18
#endif
19
20
#if defined ARP_CXX_TOOLSET_MSVC
21
22
#define ARP_EXPORT __declspec(dllexport)
23
#define ARP_IMPORT __declspec(dllimport)
24
// The ARP_CXX_SYMBOL_EXPORT/ARP_CXX_SYMBOL_IMPORT macros are defined in .props files of Arp solution build,
25
// because in static libs the macro has to be empty,
26
// due to export enum problem when multiple dll's link to the origin definition
27
28
#elif defined ARP_CXX_TOOLSET_CYGWIN
29
30
#define ARP_EXPORT __attribute__ ((dllexport))
31
#define ARP_IMPORT __attribute__ ((dllimport))
32
#define ARP_CXX_SYMBOL_EXPORT __attribute__ ((dllexport))
33
#define ARP_CXX_SYMBOL_IMPORT __attribute__ ((dllimport))
34
35
#elif defined ARP_CXX_TOOLSET_GNUC
36
37
#if __GNUC__ >= 4
38
39
#define ARP_EXPORT __attribute__ ((visibility ("default"
)))
40
#define ARP_IMPORT __attribute__ ((visibility ("default"
)))
41
#define ARP_CXX_SYMBOL_EXPORT __attribute__ ((visibility ("default"
)))
42
#define ARP_CXX_SYMBOL_IMPORT __attribute__ ((visibility ("default"
)))
43
44
#else
45
46
#define ARP_EXPORT
47
#define ARP_IMPORT
48
#define ARP_CXX_SYMBOL_EXPORT
49
#define ARP_CXX_SYMBOL_IMPORT
50
51
#endif
52
53
#else
54
55
#error "Toolset is not supported"
56
57
#endif
58
59
60
#ifdef ARP_DOXIFY
61
63
65
#define ARP_EXPORT
66
68
#define ARP_IMPORT
69
71
#define ARP_CXX_SYMBOL_EXPORT
72
74
#define ARP_CXX_SYMBOL_IMPORT
75
76
#endif
// ARP_DOXIFY
77
#endif
// ndef ARP_USE_ARP_SYSTEM_CORE
Generated on Mon May 12 2025 14:03:55 for PLCnext API Documentation by
1.9.4