[ 
https://issues.apache.org/jira/browse/XERCESC-2119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16311271#comment-16311271
 ] 

Egor Pugin commented on XERCESC-2119:
-------------------------------------

+1

My solution is to add XMLUTIL_EXPORT into every class in Janitor.hpp

template <class T> class XMLUTIL_EXPORT Janitor : public XMemory
template <class T> class XMLUTIL_EXPORT ArrayJanitor : public XMemory
template <class T> class XMLUTIL_EXPORT JanitorMemFunCall

> warning C4251: 'xercesc_3_2::TranscodeToStr::fString': class 
> 'xercesc_3_2::ArrayJanitor<XMLByte>' needs to have dll-interface to be used 
> by clients of class 'xercesc_3_2::TranscodeToStr'
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: XERCESC-2119
>                 URL: https://issues.apache.org/jira/browse/XERCESC-2119
>             Project: Xerces-C++
>          Issue Type: Bug
>          Components: Utilities
>    Affects Versions: 3.2.0
>         Environment: windows
>            Reporter: Mathieu Champlon
>         Attachments: dll_interface.patch
>
>
> Upgrading from xerces 3.1.2 to 3.2.0 on windows introduces a few of
> {noformat}
> (...)\include\xercesc/util/TransService.hpp(559): error C2220: warning 
> treated as error - no 'object' file generated
> (...)\include\xercesc/util/TransService.hpp(559): warning C4251: 
> 'xercesc_3_2::TranscodeToStr::fString': class 
> 'xercesc_3_2::ArrayJanitor<XMLByte>' needs to have dll-interface to be used 
> by clients of class 'xercesc_3_2::TranscodeToStr'
> (...)\include\xercesc/util/TransService.hpp(559): note: see declaration of 
> 'xercesc_3_2::ArrayJanitor<XMLByte>'
> (...)\include\xercesc/util/TransService.hpp(641): warning C4251: 
> 'xercesc_3_2::TranscodeFromStr::fString': class 
> 'xercesc_3_2::ArrayJanitor<XMLCh>' needs to have dll-interface to be used by 
> clients of class 'xercesc_3_2::TranscodeFromStr'
> (...)\include\xercesc/util/TransService.hpp(641): note: see declaration of 
> 'xercesc_3_2::ArrayJanitor<XMLCh>'
> {noformat}
> As pragma deactivating C4251 is frown upon on the project I work, I ended up 
> exporting the types, see attached patch.
> Note that this was also mentioned in XERCESC-1974.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to