Russian Qt Forum

Qt => Вопросы новичков => Тема начата: qwyllum от Июнь 17, 2013, 14:07



Название: [Решено]Qt как сделать portable версию?
Отправлено: qwyllum от Июнь 17, 2013, 14:07
С-но вопрос - можно ли сделать portable-версию приложения без необходимости пересобирать Qt? Я пробовал закинуть все DLL в папку с exe. Он перестает ругаться на отсутствие библиотек, но ругается на некорректные пути.


Название: Re: Qt как сделать portable версию?
Отправлено: mutineer от Июнь 17, 2013, 14:09
На некорректные пути куда? Когда ругается?


Название: Re: Qt как сделать portable версию?
Отправлено: qwyllum от Июнь 17, 2013, 14:18
На некорректные пути куда? Когда ругается?
На одном компьютере ругался на пути. Сейчас на другом и вот что он выдает:
This application has requested Runtime to rerminate in an anusual way.
Please contact the application suport team for more information


Название: Re: Qt как сделать portable версию?
Отправлено: qwyllum от Июнь 17, 2013, 14:47
Добавил эти строки
Код:
    QApplication::addLibraryPath(a.applicationDirPath() + "/plugins/");
    QApplication::addLibraryPath(a.applicationDirPath() + "/import/");
    QApplication::addLibraryPath(a.applicationDirPath() + "/");
В папке с программой лежат DLL и папки import&plugins. Конфигурация - запуск. Используется среда сборки.
Неужели приложение нереально запустить, даже если все библиотеки скинул?


Название: Re: Qt как сделать portable версию?
Отправлено: Alex Custov от Июнь 17, 2013, 15:28
QApplication::addLibraryPath() делать не нужно.

https://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html


Название: Re: Qt как сделать portable версию?
Отправлено: Vass от Июнь 17, 2013, 18:02
ну судя по ошибке, не все библиотеки есть, обычно забывают библиотеку от компилятора MSVCR*.dll для студии и  mingwm*.dll для mingw


Название: Re: Qt как сделать portable версию?
Отправлено: kambala от Июнь 17, 2013, 18:43
dependency walker или «просмотр» тотал коммандера подскажут какие нужны дллки


Название: Re: Qt как сделать portable версию?
Отправлено: gil9red от Июнь 17, 2013, 19:23
Запускаете ехе, смотрите на отсутствие какой dll'ки ругается, находите ее в папках Qt, делаете копипаст и так пока ехе не запустится =)