
 Rank: Guest Groups: Guest
Joined: 9/17/2007 Posts: 11,670 Points: -1,200
|
Date parsed: 01/04/2008 05:02:02 Date: Tue, 1 Apr 2008 09:02:02 -0400
Hi all, sorry if this stuff has been discussed before but I have not been able to find any suitable equivalents or solutions to these issues (if you know of any please let me know, any information is appreciated).
I am trying to convert several (100+) projects in our current VS2003 solution to VSTD2008, some of these projects are VS6 to VS2003 converted projects. For the most part everything has gone pretty well with a few lingering problems that I cannot seem to figure out how to resolve. The projects in question are all C++ ActiveX (OCX) or ATL (DLL COM objects). They all build fine and (for the most part) work correctly when built in debug mode but most of them fail to LINK in release mode citing duplicate entries for DllCanUnloadNow and DllGetClassObject (duplicated between mfc90u.dll and a local .obj file). Now, I can /FORCE the link and these project seem to build and work OK, but I would like to understand why this happens in release builds only. Further research revealed that if the /clr flag is set (which all of these projects have), this problems occurs, and I can repeat this with a new VSTD2008 MFC ActiveX project (Create the project and build it with no other changes - no problems, turn on /clr and build - debug builds fine but release build fails with these errors). Is there a workaround or some other option I need to set or change to resolve this? By the way, removing these two methods as exports from my projects results in the contained objects not being "creatable" that is, DllGetClassObject returns "Class not found" when it tries to create the objects. Note that all of this worked fine with VS2003.
Another issue is a crash which occures after registering one of the above projects. Regsvr32 successfully registers the component then, before it exits, it crashes with "unknown software exception 0xc0020001". When I try to debug this, I do not get any useful information (stack or otherwise) to indicate where the problem might be happening. This is the only project (of all of them) that has this issue and I cannot see any specific differences in the project compile or link options between this and the other projects that work just fine. This project also has the problem of needing the /FORCE link command to get it to compile. This project also has another problem, in that, the debug build of the component works just fine (can be registered, even though it crashes after registering, and can be created properly), the release build of this component however does not work, returning the above "class not found" message when we try to create it, even with the /FORCE command.
Sorry this was so long, I really hope someone might have encountered these issues and have some pointers or hints to help me resolve them.
Thanks again for any and all assitance Kevin F.
|