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
Loading...
Searching...
No Matches
Library Facilities for JKQTCommon
Collaboration diagram for Library Facilities for JKQTCommon:

Macros

#define JKQTCOMMON_LIB_EXPORT   Q_DECL_EXPORT
 
#define JKQTCOMMON_LIB_EXPORT_LIBRARY
 is only defined while compiling JKQTCommon into JKQTCommonSharedLib_XYZ and ensures thet the symbols are exported. If it is not defined (e.g. while compiling an application), the symbols are imported
 
#define JKQTCOMMON_LIB_IN_DLL
 declares that the application should link against a shared version of JKQTCommon, i.e. JKQTCommonSharedLib_XYZ . This needs to be defined while compiling the library and while compiling any application linking against JKQTCommonSharedLib_XYZ.
 

Detailed Description

Macro Definition Documentation

◆ JKQTCOMMON_LIB_EXPORT

#define JKQTCOMMON_LIB_EXPORT   Q_DECL_EXPORT

This define allows to export functions and classes from the jkqtcommon-library when building a dynamic/shared library. Usage is as follows:

#include "jkqtcommon/jkqtcommon_imexport.h"
class JKQTCOMMON_LIB_EXPORT exportedClassName {
...
};
JKQTCOMMON_LIB_EXPORT void exportedFunctionName();
#define JKQTCOMMON_LIB_EXPORT
Definition jkqtcommon_imexport.h:87

These macros append the appropriate Q_DECL_EXPORT and Q_DECL_IMPORT to the function/class body and thus tell windows compilers to export these sysmbols from the shared library, or import them from a shared library.

Note that these attributes are only necessary on windows systems!

These macros are controlled by two other macros:

  • JKQTCOMMON_LIB_IN_DLL declares that the application should link against a shared version of JKQTCommon, i.e. JKQTCommonSharedLib_XYZ . This needs to be defined while compiling the library and while compiling any application linking against JKQTCommonSharedLib_XYZ.
  • JKQTCOMMON_LIB_EXPORT_LIBRARY is only defined while compiling JKQTCommon into JKQTCommonSharedLib_XYZ and ensures thet the symbols are exported. If it is not defined (e.g. while compiling an application), the symbols are imported .

◆ JKQTCOMMON_LIB_EXPORT_LIBRARY

#define JKQTCOMMON_LIB_EXPORT_LIBRARY

is only defined while compiling JKQTCommon into JKQTCommonSharedLib_XYZ and ensures thet the symbols are exported. If it is not defined (e.g. while compiling an application), the symbols are imported

◆ JKQTCOMMON_LIB_IN_DLL

#define JKQTCOMMON_LIB_IN_DLL

declares that the application should link against a shared version of JKQTCommon, i.e. JKQTCommonSharedLib_XYZ . This needs to be defined while compiling the library and while compiling any application linking against JKQTCommonSharedLib_XYZ.