Cool, thanks for sharing

Best Regards 

Gordon

__________________________________________________________
Gordon Tomlinson
Email  : gordon.tomlinson @ overwatch.com
YIM/AIM: Gordon3dBrit
MSN IM : Gordon3dBrit @ 3dSceneGraph.com

__________________________________________________________
Telephone (Cell): (+1) 214-477-8914
Telephone (Work): (+1) 703-437-7651

"Self defence is not a function of learning tricks 
but is a function of how quickly and intensely one 
can arouse one's instinct for survival" 
- Master Tambo Tetsura



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Orhun Birsoy
Sent: Thursday, March 22, 2007 11:15 AM
To: osg users
Subject: Re: [osg-users] Memory leaks again.......


I solved this MFC and wrong memory leak reports. You need to make your
MFC dll load first during application start up and unload last during
application exit. I managed to do this by making the following change.
(I am using VC8.0)

In your MFC application.
 . Goto project settings. In there, make the following changes for the
Debug build.
 . General->Use of MFC->Use Standard Windows Libraries.
 . Add _AFXDLL to C/C++->Preprocessor->Preprocessor Definitions.
 . Add mfc80??.lib (in my case it is mfc80ud.lib) as a first
dependency or at least before osg libs to Linker->Input->Additional
Dependencies. You can find what the other mfc libs are in your visual
studio install directory\VC\atlmfc\lib.

You don't need to do this release mode.

Other solutions I considered but haven't tried (yet):
If you add a MFC dependency to osg dlls that should also create the
desired effect. Change the Use of MFC setting to General->Use of
MFC->Use MFC In a Shared DLL in your debug builds of osg libraries.
This should add MFC dll dependency to your osg dll in debug so forcing
MFC dll to unload after the osg dlls but as I said I did not actually
try this.

Rebuild the MFC dlls with the following change.
 At least remove the "_CrtDumpMemoryLeaks()" call in
_AFX_DEBUG_STATE's destructor. It is in
VS_INSTALL\VC\atlmfc\src\mfc\dumpinit.cpp. The makefile is in
VS_INSTALL\VC\atlmfc\src\atlmfc.mak. I did not try this, either.

Good Luck.
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to