PLCnext API Documentation
24.0.0.71
Arp
System
Core
DllConfig.h
1
2
//
3
// Copyright PHOENIX CONTACT Electronics GmbH
4
//
6
#pragma once
7
#include "Arp/System/Core/CxxConfig.h"
8
9
#ifndef ARP_INSIDE_ARP_H
10
#error Never include 'DllConfig.h' directly, just include 'Arp.h'
11
#endif
12
13
#if defined ARP_CXX_TOOLSET_MSVC
14
15
#define ARP_EXPORT __declspec(dllexport)
16
#define ARP_IMPORT __declspec(dllimport)
17
// The ARP_CXX_SYMBOL_EXPORT/ARP_CXX_SYMBOL_IMPORT macros are defined in .props files of Arp solution build,
18
// because in static libs the macro has to be empty,
19
// due to export enum problem when multiple dll's link to the origin definition
20
21
#elif defined ARP_CXX_TOOLSET_CYGWIN
22
23
#define ARP_EXPORT __attribute__ ((dllexport))
24
#define ARP_IMPORT __attribute__ ((dllimport))
25
#define ARP_CXX_SYMBOL_EXPORT __attribute__ ((dllexport))
26
#define ARP_CXX_SYMBOL_IMPORT __attribute__ ((dllimport))
27
28
#elif defined ARP_CXX_TOOLSET_GNUC
29
30
#if __GNUC__ >= 4
31
32
#define ARP_EXPORT __attribute__ ((visibility ("default"
)))
33
#define ARP_IMPORT __attribute__ ((visibility ("default"
)))
34
#define ARP_CXX_SYMBOL_EXPORT __attribute__ ((visibility ("default"
)))
35
#define ARP_CXX_SYMBOL_IMPORT __attribute__ ((visibility ("default"
)))
36
37
#else
38
39
#define ARP_EXPORT
40
#define ARP_IMPORT
41
#define ARP_CXX_SYMBOL_EXPORT
42
#define ARP_CXX_SYMBOL_IMPORT
43
44
#endif
45
46
#else
47
48
#error "Toolset is not supported"
49
50
#endif
51
52
53
#ifdef ARP_DOXIFY
54
56
58
#define ARP_EXPORT
59
61
#define ARP_IMPORT
62
64
#define ARP_CXX_SYMBOL_EXPORT
65
67
#define ARP_CXX_SYMBOL_IMPORT
68
69
#endif
// ARP_DOXIFY
Generated on Tue Feb 13 2024 14:00:09 for PLCnext API Documentation by
1.9.4