diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/qpdf/DLL.h | 9 | ||||
-rw-r--r-- | include/qpdf/QPDFDocumentHelper.hh | 4 | ||||
-rw-r--r-- | include/qpdf/QPDFObjectHelper.hh | 4 |
3 files changed, 11 insertions, 6 deletions
diff --git a/include/qpdf/DLL.h b/include/qpdf/DLL.h index 14cc5bae..257486b0 100644 --- a/include/qpdf/DLL.h +++ b/include/qpdf/DLL.h @@ -42,14 +42,16 @@ # define QPDF_DLL # endif # define QPDF_DLL_PRIVATE -# define QPDF_DLL_CLASS #elif defined __GNUC__ # define QPDF_DLL __attribute__((visibility("default"))) # define QPDF_DLL_PRIVATE __attribute__((visibility("hidden"))) -# define QPDF_DLL_CLASS QPDF_DLL #else # define QPDF_DLL # define QPDF_DLL_PRIVATE +#endif +#ifdef __GNUC__ +# define QPDF_DLL_CLASS QPDF_DLL +#else # define QPDF_DLL_CLASS #endif @@ -87,6 +89,9 @@ for a more in-depth discussion. multi-platform and building both static and shared libraries that use the same headers, so we don't bother. + * If we don't export base classes with mingw, the vtables don't end + up in the DLL. + * On Linux (and other similar systems): * Common compilers such as gcc and clang export all symbols into the diff --git a/include/qpdf/QPDFDocumentHelper.hh b/include/qpdf/QPDFDocumentHelper.hh index 55fe3c9c..e78788ab 100644 --- a/include/qpdf/QPDFDocumentHelper.hh +++ b/include/qpdf/QPDFDocumentHelper.hh @@ -36,7 +36,7 @@ // introduced to allow creation of higher level helper functions // without polluting the public interface of QPDF. -class QPDFDocumentHelper +class QPDF_DLL_CLASS QPDFDocumentHelper { public: QPDF_DLL @@ -45,7 +45,7 @@ class QPDFDocumentHelper { } QPDF_DLL - virtual ~QPDFDocumentHelper() = default; + virtual ~QPDFDocumentHelper(); QPDF_DLL QPDF& getQPDF() diff --git a/include/qpdf/QPDFObjectHelper.hh b/include/qpdf/QPDFObjectHelper.hh index db3876ec..7f0f21ca 100644 --- a/include/qpdf/QPDFObjectHelper.hh +++ b/include/qpdf/QPDFObjectHelper.hh @@ -37,7 +37,7 @@ // introduced to allow creation of higher level helper functions // without polluting the public interface of QPDFObjectHandle. -class QPDFObjectHelper +class QPDF_DLL_CLASS QPDFObjectHelper { public: QPDF_DLL @@ -46,7 +46,7 @@ class QPDFObjectHelper { } QPDF_DLL - virtual ~QPDFObjectHelper() = default; + virtual ~QPDFObjectHelper(); QPDF_DLL QPDFObjectHandle getObjectHandle() |