Q Ошибка загрузки библиотеки: не удается загрузить библиотеку sample.dll: не найден сетевой путь - PullRequest
0 голосов
/ 19 декабря 2018

Простой кусок кода

string dllName = "sample.dll";
QLibrary* lib = new QLibrary(dllName );
if (!lib ->load()) 
{
     cout << "failed";
}

, исполняемый файл и sample.dll находятся в одном каталоге.Этот кусок кода долгое время работал для разных машин, 32-битных или 64-битных, winsdows 7 или windows 10. Однако в последнее время load () завершается с ошибкой на одной машине.

lib.errorString () возвращает следующее: Невозможно загрузить библиотеку samplee.dll: сетевой путь не найден. Не уверен, почему существует сетевой путь.Кстати, этот каталог также находится в ПУТИ системной среды.

На обычном компьютере, где работает этот код, когда я удаляю sample.dll из каталога, lib.errorString () возвращает следующее: "Не удалось загрузить библиотеку sample.dll: указанный модуль не найден."

В этой папке отсутствуют файлы перенаправления DLL или файлы манифеста (введение здесь: Порядок загрузки DLL ).

Когда я добавляю абсолютный путь к началу dllName, функция load () работает хорошо.

Есть ли способ, которым у машины есть способ изменить внешний вид Qtдля DLL-файлов?

...