我最近在VisualStudio上构建了一个项目。我在bin文件夹中获得了一个可执行文件,并将所有依赖项x64 DLL放在C:\Windows\System32
中,并将所有x32 DLL放在C:\Windows\SysWOW64
执行可执行文件时,收到错误消息This program can't start because foo.dll is missing from your computer
。
我尝试在Cygwin上使用ldd.exe
获取依赖项,但我没有看到对foo.dll
的任何引用。我也尝试从PowerShell Start-Process -PassThru sample.exe
执行,但我仍然得到相同的错误消息。
Windows可执行文件在哪里查找DLL?
我已经读过Windows可执行文件将按特定顺序查找其依赖项:
我还读到如果它位于System32中,我可能需要使用regsvr32.exe
来注册我的DLL。
这个故事的实际情况是什么?
答案 0 :(得分:0)
或者,您也可以简单地将DLL文件添加到bin文件夹中。