Папка для очистки развертывания Qt

#qt #dll #path

#qt #dll #путь

Вопрос:

Используя windeployqt, многие файлы dll и т.д. будут скопированы в ту же папку EXE. Можно ли настроить так, чтобы эти библиотеки DLL помещались в другую папку, чтобы в основной папке программы существовал только EXE-файл?

Я попытался вручную вырезать и вставить, но, конечно, после этого EXE становится неисполнимым. Я хочу сделать это так, чтобы оно выглядело более аккуратным и надежным, потому что я хочу передать это приложение кому-то другому для использования.

Ответ №1:

Windows имеет свой собственный путь разрешения поиска DLL. Вы можете прочитать весь документ здесь. Я никогда не экспериментировал с этим, но мне приходит в голову использовать какой-то исполняемый файл-оболочку, который либо

  • Запускает фактический .exe из другого каталога с сохраненной .dll рядом с ним
  • Расширьте переменную PATH путем к .dll, а затем запускает actual .exe

Имейте в виду, что это своего рода взлом. В системах Windows совершенно нормально иметь exe с подобным quadrilion .библиотеки DLL рядом с ней. Пользователь редко запускает сам exe, пользователь, вероятно, будет использовать какой-то ярлык приложения

Комментарии:

1. Спасибо за ваш ответ. Приложение будет передано новичку. Поэтому я беспокоюсь, что он будет мешать другим файлам с помощью exe. Ваша идея для приложения-оболочки для вызова фактического приложения великолепна, я попробую это.