- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm just starting trying to migrate my Win32 DLLs to x64.
When I run dependency walker on my DLL's it reports that it found different modules with different CPU types. As I am not yet able to test these DLL's with their intended x64 apps - I assume that this error means that they will not run correctly. Is that right?
Thanks,
David
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
David White wrote:
I'm just starting trying to migrate my Win32 DLLs to x64.
When I run dependency walker on my DLL's it reports that it found different modules with different CPU types. As I am not yet able to test these DLL's with their intended x64 apps - I assume that this error means that they will not run correctly. Is that right?
Thanks,
David
Can you confirm you're using a 64-bit tool such as 64-bit Depends.exe to check the DLL dependencies?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It's normal to allow on PATH (and ignore) .dlls with the wrong /machine setting. You will need .dlls with the correct setting in place of or in addition to those others. I suppose Dependency Walker would select the correct ones if present (which they may not be, if building on a 32-bit Windows).
In the past, we've seen tools for building .dll (not from Microsoft or Intel) which failed to set /machine even though building from X64 .obj files. Such .dlls will be ignored, not used (or used, but fail, with a 32-bit build).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
David White wrote:
I'm just starting trying to migrate my Win32 DLLs to x64.
When I run dependency walker on my DLL's it reports that it found different modules with different CPU types. As I am not yet able to test these DLL's with their intended x64 apps - I assume that this error means that they will not run correctly. Is that right?
Thanks,
David
Can you confirm you're using a 64-bit tool such as 64-bit Depends.exe to check the DLL dependencies?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
DependencyWalker doesn't follow Windows' rules for how DLLs are located on PATH. It doesn't understand the skipping of "wrong architecture" DLLs on an x64 system.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The x64 version of dependency walker reports "x64" for all loaded DLL's.
Thanks

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page