-
December 2nd, 2013, 09:01 AM
#1
MSVCR80 error
The above error message appears whenever I try to run the Debug version of a complex app that I'm building (the Release version runs okay). By "complex" I mean that it has around 40 supporting DLLs.
Notice that the error message refers to MSVCR80.dll (as distinct from MSVCR80D.dll). This suggests to me that one of my modules is trying to link to the non-Debug CRT.
Using a hex viewer I've painstakingly looked through the exe and all its DLLs but every one of them seems to specify DebugCRT version 8.50727.42. None of them seems to be referencing a non-Debug CRT (at least, not obviously).
Is there any way I can find out some further information - e.g. which specific module is trying to link to the non-Debug CRT? Or which version number of the CRT it's looking for? Given that the Release version works, it seems very unlikely that the relevant CRT version isn't present on my PC.
I've heard about something called Dependency Walker although I've only used it once (very briefly and a long time ago!) Could that (or any other tool) help me to identify precisely which module is looking for MSVCR80.dll?
"A problem well stated is a problem half solved.” - Charles F. Kettering
-
December 2nd, 2013, 09:21 AM
#2
Re: MSVCR80 error
All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!
C++23 Compiler: Microsoft VS2022 (17.6.5)
-
December 2nd, 2013, 10:02 AM
#3
Re: MSVCR80 error
Originally Posted by John E
I've heard about something called Dependency Walker although I've only used it once (very briefly and a long time ago!) Could that (or any other tool) help me to identify precisely which module is looking for MSVCR80.dll?
The ealier versions of Dependency Walker were installed together with the VS.
In VS6 it is "...\Microsoft Visual Studio\Common\Tools\DEPENDS.EXE".
If you don't have it - download from http://www.dependencywalker.com/
Victor Nijegorodov
-
December 2nd, 2013, 01:01 PM
#4
Re: MSVCR80 error
Thanks guys. I found Dependency Walker in my VC install directory and it revealed that one of my DLLs was linking to MSVCR80.dll as well as MSVCR80D.dll. At first I found this hard to believe because the embedded manifest was only referencing the DebugCRT. However, I rebuilt the DLL, this time specifying MSVCRT.lib in its list of libraries to ignore. Voila! The app now launches! Generally speaking I only specify ignore libraries if the linker informs me about a conflict. This is the first time I've ever needed to stipulate an ignore library when there was no reported conflict.
"A problem well stated is a problem half solved.” - Charles F. Kettering
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|