Re: Can we use dlls build with VS2005 with old apps?
<yevvi@yahoo.com> wrote in message
news:1150235790.543778.179010@u72g2000cwu.googlegroups.com
Some dlls export C API, and others export C++. But i would think if
there was a problem with C++ name decoration, i would get a different
kind of error, like "symbol not found".
You just don't get that far. Once you overcome the CRT DLL hurdle,
you'll be hit by this problem.
I guess linking dlls with runtime statically would probably solve the
problem, but it would also make the footprint much bigger since all
runtime library code would have to be contained in each dll.
Any other way to do it?
Does your DLL have a manifest bound to it as a resource (to check, open
the DLL with resource editor)? It should look something like this:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC80.CRT"
version="8.0.50727.42" processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>
My understanding is that, with the correct manifest, it should just
work. But I really know very little on the subject. Hopefully, somebody
more knowlegeable will chime in at this point.
Also, seems like java apps cannot use vs2005 dlls?
I don't think Java apps particularly care about your build tool, as long
as the DLL exports all the right functions. It's probably the same
problem with msvcr80.dll
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925