[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: cross-compile alien
- From: Ross Berteig <Ross@...>
- Date: Fri, 20 Aug 2010 10:58:58 -0700
Sometime on August 19, Martin wrote:
>Is there some way to verify if I have mixed different runtimes?
>Or if they are loaded multiple times?
The tool you need to know about is called Dependency Walker. A
version of it ships with the Microsoft tools, but it is freely
available from its author at http://www.dependencywalker.com/.
With it, you can get a report showing any and all DLLs used by a
program, either by static binding or dynamic loading. To list
dynamically loaded DLLs, you run your program under its control
while it is monitoring for additional DLL loads.
I script it and use it as part of my build for shipment process
for some of my utilities. It allows me to verify that I didn't
accidentally ship a debug build, or require a module with out
putting all its supporting DLLs into the package.
The key thing to look for in your case is that there is exactly
one DLL that is obviously the CRT, that is referred to by all of
the components. As steve d points out in another response, the
Lua for Windows release is linked against MSVCR80.DLL, so if
using the current release of Lua for Windows then so (for the
easiest and best results) must all other supporting components.
Ross Berteig Ross@CheshireEng.com
Cheshire Engineering Corp. http://www.CheshireEng.com/