locked
Mixing different versions of MFC RRS feed

  • Question

  • Greetings,

    I'm working on a project that involves a VS 2005 MFC application which is setup to use MFC in a Shared DLL.  It has come to my attention that there are VS 2003 DLLs and VS 6 DLLs being used, which are also setup to use MFC in a Shared DLL.  Obviously this is bringing in multiple versions of the MFC.  Between the spectacular crashes and researching this topic, I've found out that this isn't going to work.

    Why the post?  I'd like to know the MFC team's stance on this subject and options to correct?  Also, is their any documentation that I haven't found regarding Microsoft's stance on mixing different MFC versions subject?

    Options already suggested are:

    -Upgrade all DLLs to use VS 2005 and thus they all use the same MFC version.

    -Wrap/Group DLLs per VS build and use them via their own EXE.  Luckily the DLLs only have 1 or 2 exported functions so this isn't as horrible as it sounds.

    Please note that the 2003 and 6 DLLs are grouped into "families".  By this I mean, they pass MFC structures to each other, CStrings, CStringArrays, custom classes, etc.  So linking statically will not work. 

    Thank you in advance for any replies,

    Alan

    Wednesday, September 20, 2006 2:08 PM

Answers

  • Mixing the dlls may work (but not guranteed) in most cases. But it is extremely dvisable to update to just on version specially that the support for VC6.0 already expired.

    Thanks,
    Ayman Shoukry
    VC++ Team
    Wednesday, September 20, 2006 6:40 PM