LoadLibrary 与生成配置

LoadLibrary vs build configuration

提问人:Irbis 提问时间:6/23/2023 更新时间:6/23/2023 访问量:46

问:

我使用 LoadLibrary 在我的应用程序中动态加载库。在 Visual Studio 中,我可以设置不同的生成配置:x86 或 x64 / 调试或发布。我还可以从不同配置的源代码构建库,但如何在我的应用程序中实现加载库,该库根据 Visual Studio 中设置的构建配置选择适当的目标,例如:当我构建 x64-Release 应用程序时,LoadLibrary 也应该加载 x64-Release 库。

C++ Windows DLL 加载库

评论

0赞 Richard Critten 6/23/2023
为DLL提供不同的名称,例如等。或者,如果每个 ABI 都有多个 DLL,请使用以 ABI 命名的文件夹,并将相应的 DLL 集放在每个文件夹中。my_dll_x64_debug.dllmy_dll_x64_release.dll
0赞 Irbis 6/23/2023
但是如何在运行时选择合适的库呢?看起来我需要一些条件来为 LoadLibrary 设置路径。
2赞 Richard Critten 6/23/2023
使用预定义的宏来检测构建的 ABI。例如和......_WIN32_WIN64
2赞 BoP 6/23/2023
@Irbis - 程序必须知道您在构建时做了什么 - 为库名称添加后缀和/或查看特定目录。为此定义了一些宏,例如 和_DEBUG_WIN64
0赞 Aconcagua 6/23/2023
这不是一个通用的解决方案,但在少数情况下,它可以适用于简单地将正确的 dll 放入与可执行文件相同的目录中 - 然后所有 dll 都具有相同的名称,或者您仅通过通用前缀查找 dll。

答: 暂无答案