I need to compile some mfc code that was written using Visual C++ 6.0 many years ago. I was supposed to be able to choose New->Project->Win32 Application and then in Project->Settings choose "Using MFC as a static library." I'm using the AE version and this could be the reason that this option is not available. So far, the smaller programs compile using the "Use MFC as a shared dll", but I'd like to have or mimic the other option. Any suggestions?
1 Answers
I would guess (not 100% sure, but pretty sure) that the Academic Edition corresponds to the featureset of the Standard Edition of Visual Studio 6.0. If that is the case, that version does not support static linking to MFC:
http://msdn.microsoft.com/en-us/library/aa261791%28VS.60%29.aspx
I would suggest upgrading to one of the new Visual C++ Express products. They're free, plus you'll get a newer compiler that's free of many of the restrictions you have with the older package.
Edit
The commenter below correctly mentions that the Express editions don't come with MFC, so I guess your option is to either link to MFC dynamically or upgrade to a version that supports static linking.
If you don't absolutely need static linking for some reason, I suggest dynamic linking. VC 6-era MFC libraries have been part of the O/S for ages, so you'll actually be building smaller executables and shouldn't have any redistribution issues by doing so.