mirror of
https://github.com/taglib/taglib.git
synced 2026-06-07 14:59:24 -04:00
Fix MSVC warning needs to have dll-interface (#1185)
Unfortunately, MSVC exports everything (not only public members) when __declspec(dllexport) is set at the class level via TAGLIB_EXPORT, which leads to many "needs to have dll-interface to be used by clients" 4251 warnings issued by MSVC, because the std::unique_ptr pimpls are exported too. As it is not possible to "unexport" private members, such a warning has to be explicitly suppressed for these cases or all public and protected class member now have to be exported for classes derived from a template (StringList, ByteVectorList, PropertyMap).
This commit is contained in:
@@ -126,6 +126,7 @@ namespace TagLib {
|
||||
|
||||
private:
|
||||
class AudioPropertiesPrivate;
|
||||
TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
|
||||
std::unique_ptr<AudioPropertiesPrivate> d;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user