|
From: eric e. <eri...@gm...> - 2006-01-04 10:35:44
|
Happy New Year all The dynamic link from ObjectHandler to log4cxx has caused some problems so in CVS I put this back to a static link. See below for more detail. Regards, Eric log4cxx link =3D=3D=3D=3D=3D=3D=3D=3D=3D The last release of ObjectHandler introduced a dynamic link to log4cxx, intended to make things more convenient - a user could install log4cxx.dll once and forget about it, possibly across multiple ObjectHandler releases. But it turns out there's a design flaw in log4cxx whereby a smart pointer allocated in the client goes out of scope in the DLL. In other words an address allocated by "new" in ObjectHandler is passed to "delete" in log4cxx.dll. This crashes the app unless log4cxx.dll and its client(s) share the same stack - they must be compiled against the same runtime library, which must be a DLL runtime library. So any time you rebuild ObjectHandler etc. with a different configuration you have to rebuild and reinstall log4cxx.dll. This cancels out much of the convenience that would normally be gained by using a dll so we've gone back to a static link. I updated VC6 and VC8, the VC7 workspaces are out of date for the moment. |