如何指定我希望LIB链接到的DLL文件? - Visual Studio 2019

问题描述 投票:0回答:1

我有同一 DLL 文件的不同版本,我想确保它链接到最新版本。 但在 LIB 文件内只指定了“FileName.dll”,我猜它会在各个文件夹中检查直到找到它。

我怎样才能确保它使用的是我想要的?

问题是我想使用 OpenCL 库进行 OpenGL 交互。 但由于 AMD-APP 已从官方网络中删除,我下载了最新版本,它可能是旧的。由于我的设备在

clinfo
获得的驱动程序版本为 1.2(我需要 >= 2.0)。

因此,我安装了 Radeon Software Adrenalin 用于图形处理的东西,它给了我一个新版本的 DLL 文件 (amd_opencl32.dll),

clinfo
程序返回 2.0 的驱动程序版本。

旧版本AMD-APP的OpenCL.lib链接到了OpenCL.dll,有什么办法可以将它链接到新版本吗?我是否在尝试一些不可能的事情或非常糟糕的事情?

c++ visual-studio dll static-libraries
1个回答
3
投票

LIB 仅按名称引用 DLL,而不是按版本、路径或任何其他唯一标识符引用。

当您的进程启动时,它会通过特定的路径搜索算法解决对

"FileName.dll"
的依赖。几乎总是首先在 EXE 本身所在的目录中查找 DLL,然后再返回到其他目录。 您需要了解的所有内容都记录在这里:

动态链接库搜索顺序

© www.soinside.com 2019 - 2024. All rights reserved.