Как установить относительный путь для DLL Qt при выпуске проекта Qt? - PullRequest
7 голосов
/ 07 декабря 2011

Когда я выпускаю свой проект Qt, я хочу перераспределить файлы QtCore4.dll и QtGui4.dll с моим проектом, но не в том же каталоге, что и мой .exe (в другом относительном пути).*

Как я могу заставить мои .exe автоматически их находить?

Я также не хочу устанавливать %PATH% или любую другую переменную среды в среде моего клиента.

Ответы [ 2 ]

1 голос
/ 22 апреля 2015

Во-первых, вам следует пересмотреть вопрос о том, чтобы не менять PATH в среде вашего клиента: многие проекты / приложения делают это, поэтому вы должны рассматривать это как реальный вариант.

Во-вторых, лучший способ сделать это - отредактировать файл qt.conf, расположенный в той же папке, что и ваш исполняемый файл. Смотрите эту ссылку для получения дополнительной информации о редактировании файла qt.conf.

1 голос
/ 07 декабря 2011

Вероятно, самый безопасный способ - запустить приложение, используя скрипт, который меняет и изменяет PATH (но только для этого сеанса) перед запуском приложения. Вот скрипт, который я использую для запуска пользовательской версии Qt Creator:

set PATH=%PATH%;C:\Qt\qt474_custom_msvc2008_x64\lib;C:\Qt\jom
start C:\Qt\qtcreator231__custom_msvc2008_x64\bin\qtcreator.exe

Я думаю, что есть альтернативы, такие как SetDllDirectory , но (как и rpath на * nix), они создают другие проблемы. По-видимому, наиболее стабильным решением являются параллельные dll или изменения в PATH.

Кроме того, вы имели в виду, что хотите развернуть отладочные версии (QtCore * d * 4.dll и т. Д.) Этих библиотек? Это было бы довольно необычно - убедитесь, что вы используете версии выпуска. (Если, конечно, у вас нет веской причины для использования отладочной версии.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...