locked
cl.exe cannot find entry in msvcr80.dll

    Question

  • I am trying to install Visual C++ 2005 Express Edition and I am having a problem that prevents
     the compiler from starting. I have tried multiple uninstalls/reinstalls and the problem persists.
    I am completely out of ideas and would appreciate a suggestion.

    I am running Windows 2000 5.00.2195 service pack 4.

    What I did:
    • Uninstalled old versions of VC++ and .NET (I had been able to use other versions of the VC++ compiler successfully)
    • Installed Express Edition and the Platform SDK (these installs also install ,.NET 2.0)
    • Installed SP1 for Express Edition from Windows Update
    • Installed all other updates for my machine from Windows Update
    • Performed the steps described in this page to complete the setup http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
    • When I run the test in Step 5 of the SDK setup, I get the errors shown in the build log below.
    When I try to run the compiler from the command line by typing C:\MSDEV80\VC\bin\cl.exe,
     I get a dialog box saying that it cannot find the entry __security_error_handler in mscvr80.dll.

    I examined my system and found 22 copies of this DLL. Using the "which" command in an
     MKS Korn shell indicated that the copy in WINNT/system 32 was being used (I get the same
     error if I try running the compiler form a Korn shell). Based on comments and suggestions in
     the MSDN forum, I renamed all the other copies so that they could not be found. This did not
     fix the error.

    I discovered that among the 22 copies of the DLL, there were three different versions, so I
     decided to try all three versions by placing each one in system32. I get an error for all three,
     although they complain about different things they can't find. Specifically,

    if I use Version 8.0.50727.42 or Version 8.0.50727.762, then I get a message that the entry
     __security_error_handler could not be found in msvcr80.dll.

    If I use version 8.0.40310.39, then I get the message that entry _initterm_e could not be found.
     

    I have no ideas about what to try next. Any suggestions?



    Build Log
      

    Build started: Project: InstallTest, Configuration: Debug|Win32


    Command Lines
      
    Creating temporary file "c:\Documents and Settings\rsimon\My Documents\Visual Studio 2005\Projects\InstallTest\InstallTest\Debug\RSP0000038561684.rsp" with contents
    [
    /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Yu"stdafx.h" /Fp"Debug\InstallTest.pch" /Fo"Debug\\" /Fd"Debug\vc80.pdb" /W3 /c /Wp64 /ZI /TP ".\InstallTest.cpp"
    ]
    Creating command line "cl.exe @"c:\Documents and Settings\rsimon\My Documents\Visual Studio 2005\Projects\InstallTest\InstallTest\Debug\RSP0000038561684.rsp" /nologo /errorReport:prompt"
    Creating temporary file "c:\Documents and Settings\rsimon\My Documents\Visual Studio 2005\Projects\InstallTest\InstallTest\Debug\RSP0000048561684.rsp" with contents
    [
    /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Yc"stdafx.h" /Fp"Debug\InstallTest.pch" /Fo"Debug\\" /Fd"Debug\vc80.pdb" /W3 /c /Wp64 /ZI /TP ".\stdafx.cpp"
    ]
    Creating command line "cl.exe @"c:\Documents and Settings\rsimon\My Documents\Visual Studio 2005\Projects\InstallTest\InstallTest\Debug\RSP0000048561684.rsp" /nologo /errorReport:prompt"
    Output Window
      
    Compiling...
    Project : error PRJ0002 : Error result 128 returned from 'C:\MSDEV80\VC\bin\cl.exe'.
    Results
      
    Build log was saved at "file://c:\Documents and Settings\rsimon\My Documents\Visual Studio 2005\Projects\InstallTest\InstallTest\Debug\BuildLog.htm"
    InstallTest - 1 error(s), 0 warning(s)
    Friday, February 02, 2007 1:20 PM