You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-user@logging.apache.org by Moshe Matitya <Mo...@Kayote.com> on 2007/07/04 21:20:15 UTC

Unable to run executable built with MSVC 8.0

I built a app using log4cxx with MSVC 8.0, and when I try to run it, it
fails at startup, producing the following error message:
 
    Unable To Locate Component
    This application has failed to start because MSVCP80D.dll was not
found.
    Re-installing the application may fix this problem.
 
Note that I get this message even when I try to run the app from inside
Visual Studio.  I haven't had this problem with any other app built with
MSVC 8.0.  Also, the app runs fine when I build it using MSVC 6.0.
 
I am using log4cxx 0.10.0 (recent snapshot) on Windows XP SP2.
 
Any ideas?
 
Thanks,
 
Moshe


RE: Unable to run executable built with MSVC 8.0

Posted by Moshe Matitya <Mo...@Kayote.com>.
Isn't this something that should be done by ant when building log4cxx?
 
Thanks,
 
Moshe
 

________________________________

From: Roger Orr [mailto:rogero@howzatt.demon.co.uk]
Sent: Thu 7/5/2007 12:01 AM
To: 'Log4CXX User'
Subject: RE: Unable to run executable built with MSVC 8.0



Moshe Matitya wrote:
> I built a app using log4cxx with MSVC 8.0, and when I try to run it,
> it fails at startup, producing the following error message:
>
>     Unable To Locate Component
>     This application has failed to start because MSVCP80D.dll was not
>     found. Re-installing the application may fix this problem.
>

I suspect you need to bind the manifest (created by the VC8 linker) into
log4cxx.dll
Something like this:-

mt.exe -nologo -manifest log4cxx.dll.manifest -outputresource:log4cxx.dll;2

MSVCP80D.dll on XP SP2 will go into the WinSxS directory, and the manifest
information
is needed to tell the loader where the DLL is.
If the .EXE already loaded MSVCP80D then you can get away without the
manifest.

HTH,
Roger.




RE: Unable to run executable built with MSVC 8.0

Posted by Roger Orr <ro...@howzatt.demon.co.uk>.
Moshe Matitya wrote:
> I built a app using log4cxx with MSVC 8.0, and when I try to run it,
> it fails at startup, producing the following error message: 
> 
>     Unable To Locate Component
>     This application has failed to start because MSVCP80D.dll was not
>     found. Re-installing the application may fix this problem.
> 

I suspect you need to bind the manifest (created by the VC8 linker) into
log4cxx.dll
Something like this:-

mt.exe -nologo -manifest log4cxx.dll.manifest -outputresource:log4cxx.dll;2

MSVCP80D.dll on XP SP2 will go into the WinSxS directory, and the manifest
information
is needed to tell the loader where the DLL is.
If the .EXE already loaded MSVCP80D then you can get away without the
manifest.

HTH,
Roger.