我正在用 Visual C++ 编写一个程序。该程序依赖于一些我不想放在system32中的dll文件。现在 dll 文件与我的 .exe 位于同一文件夹中,但我想将它们移动到子文件夹中。问题是,如果我移动文件,我的应用程序将无法启动并出现以下错误消息:
MyProgram.exe - 无法找到组件
此应用程序无法启动,因为找不到 myDll.dll。重新安装应用程序可能会解决问题。
我以前遇到过同样的问题,如果找到解决方案,其中包括向注册表添加一些东西,但我忘记了它是如何工作的,现在我又找不到指南了。
有人可以帮帮我吗?
最佳答案
解决这个问题的方法不止一种。正如其他人提到的,您可以在注册表中修改应用程序的搜索路径。有时,您没有写入注册表的权限,或者由于其他原因无法写入,那么您可以显式设置 dll 路径,WinAPI 函数是 SetDllDirectory
,参见 MSDN .
关于C++将dll文件从根目录移动到子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4958742/