【发布时间】:2014-10-29 03:11:49
【问题描述】:
在 C# 中,我知道有一种方法可以编辑汇编配置文件或类似的东西,但是对于 C++,我不知道如何制作它,而不是将根目录中的所有 dll 放入 /libs 之类的东西中或 /bin/ 文件夹,我的 exe 会在那里查找 dll 文件?
【问题讨论】:
标签: c++ visual-c++ dll subdirectory
在 C# 中,我知道有一种方法可以编辑汇编配置文件或类似的东西,但是对于 C++,我不知道如何制作它,而不是将根目录中的所有 dll 放入 /libs 之类的东西中或 /bin/ 文件夹,我的 exe 会在那里查找 dll 文件?
【问题讨论】:
标签: c++ visual-c++ dll subdirectory
如果您在运行时加载 DLL,您可以简单地编写 hDll = LoadLibrary("subFolder\\test.dll");。首先,Windows 在您的程序所在的目录中查找 DLL。因此test.dll 将在app_dir/subFolder/test.dll 中找到(app_dir = 可执行文件的路径)。请注意,如果当前目录与 app_dir 不同,这也有效。
查看 MSDN 了解更多信息information about DLL searching。
【讨论】:
您的 EXE 不会查找 DLL 文件。这意味着无论您使用的是 C++ 还是 C#,都无关紧要。 Visual Studio 的相关性甚至更低,因为它甚至在您的 EXE 运行时都不存在。
Windows 会寻找 DLL。在您的 C# 示例中,Windows 使用程序集清单来指导搜索。在您的 C++ 示例中,您没有添加一个,因此 Windows 仅使用默认路径。因此解决方案很明显:使用类似的清单。
【讨论】: