Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
$env:PATH="c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.29.30036\debug_nonredist\arm64\Microsoft.VC142.DebugCRT;$env:PATH"

Tools

To find dependencies of your .exe, your can use:

LDD

ldd (from cygwin/msys). It does not take into account arm64 arch, so it will only report first dll on your path. By using file, you can verify every dependency.

Code Block
$ ldd python_d.exe
        ntdll.dll => /c/Windows/SYSTEM32/ntdll.dll (0x7ffc97690000)
        KERNEL32.DLL => /c/Windows/System32/KERNEL32.DLL (0x7ffc96fd0000)
        KERNELBASE.dll => /c/Windows/System32/KERNELBASE.dll (0x7ffc92fa0000)
        vcruntime140d.dll => /c/Windows/System32/vcruntime140d.dll (0x7ffc8c480000)
        python311_d.dll => /c/Users/tcwg/try/PCbuild/arm64/python311_d.dll (0x7ffc408b0000)
        WS2_32.dll => /c/Windows/System32/WS2_32.dll (0x7ffc955e0000)
        RPCRT4.dll => /c/Windows/System32/RPCRT4.dll (0x7ffc967a0000)
        ADVAPI32.dll => /c/Windows/System32/ADVAPI32.dll (0x7ffc94070000)
        msvcrt.dll => /c/Windows/System32/msvcrt.dll (0x7ffc95370000)
        sechost.dll => /c/Windows/System32/sechost.dll (0x7ffc97570000)
        ucrtbased.dll => /c/Windows/System32/ucrtbased.dll (0x7ffc744d0000)
        VCRUNTIME140D.dll => /c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Redist/MSVC/14.29.30036/debug_nonredist/arm64/Microsoft.VC142.DebugCRT/VCRUNTIME140D.dll (0x7ffc8c450000)
        VERSION.dll => /c/Windows/SYSTEM32/VERSION.dll (0x7ffc829c0000)
        ucrtbased.dll => /c/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/arm64/ucrt/ucrtbased.dll (0x7ffc744e0000)
        bcrypt.dll => /c/Windows/SYSTEM32/bcrypt.dll (0x7ffc92360000)

$ file /c/Windows/SYSTEM32/bcrypt.dll
/c/Windows/SYSTEM32/bcrypt.dll: PE32+ executable (DLL) (console) Aarch64, for MS Windows

$ file /c/Windows/System32/vcruntime140d.dll
/c/Windows/System32/vcruntime140d.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows

Dependencies

https://www.dependencywalker.com/ used to be a good solution to see DLL deps using a GUI. It is now outdated, and does not handle ARM64 arch.

A replacement, Dependencies, is now written to modernize it. It works with ARM64 arch: GitHub - lucasg/Dependencies

Code Block
$ DependenciesGui.exe python_d.exe

...