提问者:小点点

如何指定我想要我的库链接到的DLL文件? -Visual Studio 2019


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

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

问题是我想使用OpenCL库与OpenGL交互。 但由于AMD-APP已经从官方网站上删除,我下载了最后一个版本,它可能是旧的。 因为我在clinfo中的设备获得的驱动程序版本是1.2(我需要>=2.0)。

所以我安装了Radeon软件Adrenalin thingy for graphics,它给了我一个新版本的DLL文件(amd_opencl32.DLL),clinfo程序返回2.0的驱动程序版本。

旧版AMD-APP的opencl.lib链接到一个opencl.dll,有什么办法我可以把它链接到新版本吗? 我是在尝试一些不可能的事情还是很糟糕的事情?


共1个答案

匿名用户

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

当您的进程启动时,它从特定的路径搜索算法解析其对“filename.dll”的依赖关系。 几乎总是先在与EXE本身相同的目录中查找DLL,然后再返回到其他目录。 您需要知道的一切都记录在这里:

动态链接库搜索顺序