C++将dll文件从根目录移动到子文件夹

标签 c++ visual-c++ dll components

我正在用 Visual C++ 编写一个程序。该程序依赖于一些我不想放在system32中的dll文件。现在 dll 文件与我的 .exe 位于同一文件夹中,但我想将它们移动到子文件夹中。问题是,如果我移动文件,我的应用程序将无法启动并出现以下错误消息:


MyProgram.exe - 无法找到组件

此应用程序无法启动,因为找不到 myDll.dll。重新安装应用程序可能会解决问题。


我以前遇到过同样的问题,如果找到解决方案,其中包括向注册表添加一些东西,但我忘记了它是如何工作的,现在我又找不到指南了。

有人可以帮帮我吗?

最佳答案

解决这个问题的方法不止一种。正如其他人提到的,您可以在注册表中修改应用程序的搜索路径。有时,您没有写入注册表的权限,或者由于其他原因无法写入,那么您可以显式设置 dll 路径,WinAPI 函数是 SetDllDirectory,参见 MSDN .

关于C++将dll文件从根目录移动到子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4958742/

相关文章:

c++ - 扩展宏进行调试?

python - 为什么没有使用 MSVC 构建的 Python DLL 加载 mod_wsgi?

c++ - VLC 命令行音频/视频流

dll - 当我们获得实际的 .dll 实现时,为什么还需要 .lib stub 文件?

c++ - Openframeworks > 按每日计划动态更改(加载)图像

c++ - Qt找不到平台插件cocoa

C++值初始化

c++ - 模板包扩展以将函数应用于连续的参数对

c++ - dllimport 和 dllexport 之间的链接

windows - WindowsPE-如何运行 Electron 应用程序,缺少dll