diff --git a/src/cpim/header/cpim-core-headers.h b/src/cpim/header/cpim-core-headers.h index 965904908aa2231a4b964c3530896d1fac0129b2..3ff1deecdb5c8657743d20ab8bc59a0e91018cf7 100644 --- a/src/cpim/header/cpim-core-headers.h +++ b/src/cpim/header/cpim-core-headers.h @@ -24,7 +24,7 @@ // ============================================================================= #define MAKE_CORE_HEADER(CLASS_PREFIX, NAME) \ - class CLASS_PREFIX ## Header : public CoreHeader { \ + class LINPHONE_PUBLIC CLASS_PREFIX ## Header : public CoreHeader { \ public: \ CLASS_PREFIX ## Header() = default; \ inline std::string getName() const override { \ @@ -43,7 +43,7 @@ namespace LinphonePrivate { // Generic core header. // ------------------------------------------------------------------------- - class CoreHeader : public Header { + class LINPHONE_PUBLIC CoreHeader : public Header { friend class HeaderNode; public: @@ -79,7 +79,7 @@ namespace LinphonePrivate { class SubjectHeaderPrivate; - class SubjectHeader : public CoreHeader { + class LINPHONE_PUBLIC SubjectHeader : public CoreHeader { friend class HeaderNode; public: diff --git a/src/cpim/header/cpim-generic-header.h b/src/cpim/header/cpim-generic-header.h index fb1a198cfac36aef4b15d3176f02a9c63c656a36..94ced0e44671e4ffcfb2d98788417f75b7b4fc1e 100644 --- a/src/cpim/header/cpim-generic-header.h +++ b/src/cpim/header/cpim-generic-header.h @@ -31,7 +31,7 @@ namespace LinphonePrivate { class GenericHeaderPrivate; class HeaderNode; - class GenericHeader : public Header { + class LINPHONE_PUBLIC GenericHeader : public Header { friend class HeaderNode; public: diff --git a/src/cpim/header/cpim-header.h b/src/cpim/header/cpim-header.h index 3dbcb2fbe11c2c31a5f8f05a85fa422b8251ed22..1839d3afa35b64655be337e94b13cc26cd3fcb17 100644 --- a/src/cpim/header/cpim-header.h +++ b/src/cpim/header/cpim-header.h @@ -29,7 +29,7 @@ namespace LinphonePrivate { namespace Cpim { class HeaderPrivate; - class Header : public Object { + class LINPHONE_PUBLIC Header : public Object { public: virtual ~Header () = default; diff --git a/src/cpim/message/cpim-message.h b/src/cpim/message/cpim-message.h index 2620fe3360e13006c9b70b0bb711ca8f70a0f553..fe8d0d03fc12ea6b2ae3570bca9e7a162c44db3c 100644 --- a/src/cpim/message/cpim-message.h +++ b/src/cpim/message/cpim-message.h @@ -28,7 +28,7 @@ namespace LinphonePrivate { namespace Cpim { class MessagePrivate; - class Message : public Object { + class LINPHONE_PUBLIC Message : public Object { public: Message (); diff --git a/src/object/object.h b/src/object/object.h index 76ae2d67fbf5aaed740ebf216b33de9e42982b96..18c39489d281016c7d3760112572871d48361922 100644 --- a/src/object/object.h +++ b/src/object/object.h @@ -37,7 +37,7 @@ namespace LinphonePrivate { L_DECLARE_PUBLIC(Object); }; - class Object { + class LINPHONE_PUBLIC Object { public: virtual ~Object () { delete mPrivate; diff --git a/src/utils/general.h b/src/utils/general.h index 0fc5afe6f62b28e3002012b62b44ecd4062489f4..e0a8ed7f6a1b8e0f8e7a6e55a0f015b6160920fa 100644 --- a/src/utils/general.h +++ b/src/utils/general.h @@ -21,6 +21,24 @@ #ifndef _GENERAL_H_ #define _GENERAL_H_ +#ifndef LINPHONE_PUBLIC + #if defined(_MSC_VER) + #ifdef LINPHONE_STATIC + #define LINPHONE_PUBLIC + #else + #ifdef LINPHONE_EXPORTS + #define LINPHONE_PUBLIC __declspec(dllexport) + #else + #define LINPHONE_PUBLIC __declspec(dllimport) + #endif + #endif + #else + #define LINPHONE_PUBLIC + #endif +#endif + +// ----------------------------------------------------------------------------- + #define L_DECLARE_PRIVATE(CLASS) \ inline CLASS ## Private * getPrivate() { \ return reinterpret_cast(mPrivate); \