Как указать файл DLL, с которым я хочу связать мою LIB? - Visual Studio 2019 - PullRequest
0 голосов
/ 11 июля 2020

У меня разные версии одного и того же файла DLL, и я хочу убедиться, что он связан с последней версией. Но внутри файла LIB указан только файл «FileName.dll», который, я думаю, он проверяется в разных папках, пока не будет найден.

Как я могу убедиться, что он использует тот, который мне нужен?

Проблема в том, что я хочу использовать библиотеку OpenCL с взаимодействиями OpenGL. Но поскольку AMD-APP был удален из официального Интернета, я загрузил последнюю версию, и она, вероятно, устарела. Поскольку мое устройство в clinfo получает версию драйвера 1.2 (мне нужно> = 2.0).

Итак, я установил Radeon Software Adrenalin для графики, и он дал мне новую версию DLL-файла (amd_opencl32. dll), который программа clinfo возвращает версию драйвера 2.0.

OpenCL.lib старой версии AMD-APP связан с OpenCL.dll, есть ли способ связать его с новая версия? Я пытаюсь сделать что-то невозможное или действительно плохое?

1 Ответ

3 голосов
/ 11 июля 2020

LIB ссылаются на DLL только по имени, а не по версии, пути или любому другому уникальному идентификатору.

Когда ваш процесс запускается, он разрешает свою зависимость от "FileName.dll" из определенного c поиска пути алгоритм. Практически всегда сначала ищут DLL в том же каталоге, что и сам EXE, прежде чем вернуться к другим каталогам. Все, что вам нужно знать, описано здесь:

Dynami c -Порядок поиска в библиотеке ссылок

...