JKQTPlotter
trunk/v5.0.0
an extensive Qt5+Qt6 Plotter framework (including a feature-richt plotter widget, a speed-optimized, but limited variant and a LaTeX equation renderer!), written fully in C/C++ and without external dependencies
Main Page
Related Pages
Topics
Namespaces
Classes
Loading...
Searching...
No Matches
jkqtcommon_imexport.h
1
#ifndef jkqtcommon_IMPORT_H
2
#define jkqtcommon_IMPORT_H
3
4
/*
5
Copyright (c) 2008-2024 Jan W. Krieger (<jan@jkrieger.de>)
6
7
last modification: $LastChangedDate: 2015-04-02 13:55:22 +0200 (Do, 02 Apr 2015) $ (revision $Rev: 3902 $)
8
9
This software is free software: you can redistribute it and/or modify
10
it under the terms of the GNU Lesser General Public License (LGPL) as published by
11
the Free Software Foundation, either version 2.1 of the License, or
12
(at your option) any later version.
13
14
This program is distributed in the hope that it will be useful,
15
but WITHOUT ANY WARRANTY; without even the implied warranty of
16
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
GNU Lesser General Public License (LGPL) for more details.
18
19
You should have received a copy of the GNU Lesser General Public License (LGPL)
20
along with this program. If not, see <http://www.gnu.org/licenses/>.
21
*/
22
23
24
25
26
/*! \def JKQTCOMMON_LIB_EXPORT
27
\ingroup jkqtptools_libfacilities
28
29
This define allows to export functions and classes from the jkqtcommon-library when building a dynamic/shared library.
30
Usage is as follows:
31
\code
32
#include "jkqtcommon/jkqtcommon_imexport.h"
33
34
class JKQTCOMMON_LIB_EXPORT exportedClassName {
35
...
36
};
37
38
JKQTCOMMON_LIB_EXPORT void exportedFunctionName();
39
\endcode
40
41
These macros append the appropriate \c Q_DECL_EXPORT and \c Q_DECL_IMPORT
42
to the function/class body and thus tell windows compilers to export these sysmbols from
43
the shared library, or import them from a shared library.
44
45
Note that these attributes are only necessary on windows systems!
46
47
These macros are controlled by two other macros:
48
- \c JKQTCOMMON_LIB_IN_DLL declares that the application should link against a shared version of
49
JKQTCommon, i.e. \c JKQTCommonSharedLib_XYZ .
50
This needs to be defined while compiling the library and while compiling
51
any application linking against \c JKQTCommonSharedLib_XYZ.
52
- \c JKQTCOMMON_LIB_EXPORT_LIBRARY is only defined while compiling JKQTCommon into \c JKQTCommonSharedLib_XYZ
53
and ensures thet the symbols are exported. If it is not defined (e.g. while
54
compiling an application), the symbols are imported
55
.
56
57
*/
58
59
// necessary to add this define to the Doxygen autodoc!!!
60
#ifdef DOXYGEN
61
# define JKQTCOMMON_LIB_IN_DLL
62
#endif
63
/*! \def JKQTCOMMON_LIB_IN_DLL
64
\ingroup jkqtptools_libfacilities
65
\brief declares that the application should link against a shared version of
66
JKQTCommon, i.e. \c JKQTCommonSharedLib_XYZ .
67
This needs to be defined while compiling the library and while compiling
68
any application linking against \c JKQTCommonSharedLib_XYZ.
69
*/
70
71
// necessary to add this define to the Doxygen autodoc!!!
72
#ifdef DOXYGEN
73
# define JKQTCOMMON_LIB_EXPORT_LIBRARY
74
#endif
75
/*! \def JKQTCOMMON_LIB_EXPORT_LIBRARY
76
\ingroup jkqtptools_libfacilities
77
\brief is only defined while compiling JKQTCommon into \c JKQTCommonSharedLib_XYZ
78
and ensures thet the symbols are exported. If it is not defined (e.g. while
79
compiling an application), the symbols are imported
80
*/
81
82
#include <QtCore/QtGlobal>
83
# ifdef JKQTCOMMON_LIB_IN_DLL
84
# ifndef JKQTCOMMON_LIB_EXPORT
85
# ifdef JKQTCOMMON_LIB_EXPORT_LIBRARY
86
/* We are building this library */
87
# define JKQTCOMMON_LIB_EXPORT Q_DECL_EXPORT
88
# else
89
/* We are using this library */
90
# define JKQTCOMMON_LIB_EXPORT Q_DECL_IMPORT
91
# endif
92
# endif
93
# else
94
# ifndef JKQTCOMMON_LIB_EXPORT
95
# define JKQTCOMMON_LIB_EXPORT
96
# endif
97
# endif
98
99
100
101
#endif
// jkqtcommon_IMPORT_H
102
lib
jkqtcommon
jkqtcommon_imexport.h
Generated on Wed Oct 30 2024 21:02:31 for JKQTPlotter by
doxygen
1.9.8