Wow, I hope this makes sense to somebody.

Personally I wouldn’t know if my template expansion was different to my
library build expansion!

Perhaps this reply was intended to log4cxx userlist instead?

:-)

> -----Original Message-----
> From: Curt Arnold [mailto:[EMAIL PROTECTED]
> Sent: 15 March 2005 22:15
> To: Log4J Users List
> Subject: Re: Build namespace issues
> 
> On Mar 15, 2005, at 3:31 PM, Ron Ohmer wrote:
> 
> > I ran into a rather odd error when using SocketAppenders.
> >
> > I have a wrapper that has worked fine, no warnings, nothing until I
> > added functionality for the SocketAppender..
> >
> > Now I get what follows this..  Does anyone know the root of this
> > (Other than SocketAppender.cpp.. :-))   BTW, VS.NET 2k3 is the build
> > tool.
> >
> 
> The problem is that pervasively throughout log4cxx (even the CVS HEAD),
> you see a construct like:
> 
>               class SocketImpl;
>               typedef helpers::ObjectPtrT<SocketImpl> SocketImplPtr;
> 
> When one of these smart-pointer templates is used in a publicly exposed
> method on a exported class, you end up with an exported method
> depending on a non-exported class.  If the template expansion differs
> in any way from the expansion when the library was build, bad things
> will happen hence the warning.
> 
> What should be done is something like:
> 
>                class SocketImpl;
>                class LOG4CXX_EXPORT SocketImplPtr : public
> helpers::ObjectPtrT<SocketImpl> {
>                     ...
>                }
> 
> I'll log this as a bug and work on it as soon I finish my current task
> (likely 24-48 hours away).
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to