Ordinal Not Found in MFC DLL.
Posted on 2000-03-20
I am trying to port a VC++ 5.0 project to VC++ 6.0. The build went through fine (after VC++ informed me that the .dsp file is being converted). But when I try to run it, I get a message:
"Ordinal Not Found
The ordinal 977 could not be located in the dynamic link library MFCD42D.DLL."
This happens in Debug build only; the release build works fine.
I have read a PAQ which addresses a similar problem. There, the answer said that when using VC++6.0, you must distribute MFC42.DLL, OR statically link MFC through project settings. I can understand this in a situation where a distribution of an executable is involved, where the target computer may have a different environment.
What I cannot understand is, when I rebuild the whole project from scratch (after CLEAN, I do Rebuild ALL) in VC++6.0, why does this problem still arise? As far as I can see, there should be only one version of MFC DLLs lying around on my computer, so my situation does not seem to be addressed by the PAQ.
What am I doing wrong? When I port a project from VC++5.0 to VC++6.0, what should I be doing? What I actually did is like this:
a. From the project folder, I deleted Debug and Release folders completely.
b. Copied everything remaining to the new machine which has VC++6.0.
c. Opened the .dsw file.
d. Did a Clean, and then rebuild all.
Is something else needed to be done?