Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: ksk- от Апрель 15, 2012, 16:46



Название: Сборка проекта
Отправлено: ksk- от Апрель 15, 2012, 16:46
Всем привет. Есть некий рабочий проект. Каким образом лучше всего изготовить из него установочный пакет для Windows для последующего распространения на компьютеры, на которых не установлена Qt???


Название: Re: Сборка проекта
Отправлено: cya-st от Апрель 16, 2012, 10:18
Смотриш зависимости, включаеш все зависимости в инсталяционку.


Название: Re: Сборка проекта
Отправлено: ksk- от Апрель 18, 2012, 04:31
Смотриш зависимости, включаеш все зависимости в инсталяционку.

Ну да, согласен. Только вот как узнать зависимости? И чем обычно собирают msi-пакеты? Виндой не пользовался уже очень давно, не знаю что там да как.


Название: Re: Сборка проекта
Отправлено: kambala от Апрель 18, 2012, 13:23
зависимости - dependency walker, установочный пакет - inno setup например


Название: Re: Сборка проекта
Отправлено: ksk- от Апрель 18, 2012, 18:55
зависимости - dependency walker, установочный пакет - inno setup например

Использовал dependency walker для поиска нужных либ. Но при запуске exe-шника вылетает ошибка.


Название: Re: Сборка проекта
Отправлено: navrocky от Апрель 18, 2012, 19:11
зависимости - dependency walker, установочный пакет - inno setup например

Использовал dependency walker для поиска нужных либ. Но при запуске exe-шника вылетает ошибка.

Не та библиотека, с которой собирался бинарь. Может перепутал и положил либу от migw сборки, а бинарь собирался студией, или наоборот. Или версия Qt не та (младше чем та с которой собирался бинарь).

К тому же если бинарь собирался студией, то надо ставить еще vdredistXXX.exe и его таскать в своем инсталлере. Потому как просто копирование dll-ек студии не поможет. Говорят что можно эту хрень прилинковать в статике, тогда таскать не нужно. Не проверял.


Название: Re: Сборка проекта
Отправлено: ksk- от Апрель 18, 2012, 19:41
Собирал mingw. Есть только одна Версия Qt. Ну еще есть PyQt правда. Может из-за нее?


Название: Re: Сборка проекта
Отправлено: kambala от Апрель 18, 2012, 20:51
К тому же если бинарь собирался студией, то надо ставить еще vdredistXXX.exe и его таскать в своем инсталлере. Потому как просто копирование dll-ек студии не поможет.
мне помогает почему-то (студия 2010) - требуются лишь 2 дллки
Собирал mingw. Есть только одна Версия Qt. Ну еще есть PyQt правда. Может из-за нее?
правильные библиотеки лежат в QTDIR/bin. а ты свои откуда скопировал?


Название: Re: Сборка проекта
Отправлено: ksk- от Апрель 18, 2012, 23:13
К тому же если бинарь собирался студией, то надо ставить еще vdredistXXX.exe и его таскать в своем инсталлере. Потому как просто копирование dll-ек студии не поможет.
мне помогает почему-то (студия 2010) - требуются лишь 2 дллки
Собирал mingw. Есть только одна Версия Qt. Ну еще есть PyQt правда. Может из-за нее?
правильные библиотеки лежат в QTDIR/bin. а ты свои откуда скопировал?

Да, я свои оттуда копировал.


Название: Re: Сборка проекта
Отправлено: kambala от Апрель 18, 2012, 23:15
проверь чтоб в PATH не было путей, по которым лежат другие версии библиотек


Название: Re: Сборка проекта
Отправлено: V1KT0P от Апрель 18, 2012, 23:28
К тому же если бинарь собирался студией, то надо ставить еще vdredistXXX.exe и его таскать в своем инсталлере. Потому как просто копирование dll-ек студии не поможет.
мне помогает почему-то (студия 2010) - требуются лишь 2 дллки
Собирал mingw. Есть только одна Версия Qt. Ну еще есть PyQt правда. Может из-за нее?
правильные библиотеки лежат в QTDIR/bin. а ты свои откуда скопировал?

Да, я свои оттуда копировал.
Вот как я проверяю зависимости(но многим он почему-то жутко не нравится):
1) Качаешь AVZ4.
2) Из креатора запускаешь прогу.
3) Запускаешь AVZ4, в меню выбираешь "Сервис"->"Диспетчер процессов"
4) В списке находишь свою прогу, кликаешь на нее и внизу наблюдаешь все либы которые она юзает вместе с путями к этим либам. Так как в белом списке AVZ4 только стандартные либы, то все библиотеки черным цветом это кандидаты на добавление в инсталяционный пакет.


Название: Re: Сборка проекта
Отправлено: ksk- от Апрель 19, 2012, 00:06
Всем спасибо. Проблема решена. Пакет собрал. ))) Сделал все тоже самое, только удалил папку сборки и пересобрал проект с чистого листа. )))


Название: Re: Сборка проекта
Отправлено: navrocky от Апрель 20, 2012, 23:45
1) Качаешь AVZ4.
2) Из креатора запускаешь прогу.
3) Запускаешь AVZ4, в меню выбираешь "Сервис"->"Диспетчер процессов"
Оригинал однако.


Название: Re: Сборка проекта
Отправлено: V1KT0P от Апрель 21, 2012, 00:20
1) Качаешь AVZ4.
2) Из креатора запускаешь прогу.
3) Запускаешь AVZ4, в меню выбираешь "Сервис"->"Диспетчер процессов"
Оригинал однако.
Расскажи как ты проверяешь.


Название: Re: Сборка проекта
Отправлено: ksk- от Апрель 22, 2012, 13:38
После сборки и установки на компьютер без Qt выявилась еще одна проблема. Программа использует Phonon, в установочник я включил файл "phonon4.dll". Но тем не менее музыку программа не воспроизводит, хотя все остальное работает и никаких ошибок не выдает. Может еще какой файл нужен?


Название: Re: Сборка проекта
Отправлено: V1KT0P от Апрель 22, 2012, 13:45
После сборки и установки на компьютер без Qt выявилась еще одна проблема. Программа использует Phonon, в установочник я включил файл "phonon4.dll". Но тем не менее музыку программа не воспроизводит, хотя все остальное работает и никаких ошибок не выдает. Может еще какой файл нужен?
Ты моим методом проверял какие либы юзает твое приложение? Ибо dependency walker не показывает динамически подключаемые либы, коими являются плагины. Также он не показывает откуда загружается плагин. Ибо плагин имеет такую особенность что если неправильный плагин(скомпиленный не под ту версию или не тем компилятором) используешь то он тупо не загружается и никаких ошибок не увидишь.


Название: Re: Сборка проекта
Отправлено: ksk- от Апрель 22, 2012, 17:14
После сборки и установки на компьютер без Qt выявилась еще одна проблема. Программа использует Phonon, в установочник я включил файл "phonon4.dll". Но тем не менее музыку программа не воспроизводит, хотя все остальное работает и никаких ошибок не выдает. Может еще какой файл нужен?
Ты моим методом проверял какие либы юзает твое приложение? Ибо dependency walker не показывает динамически подключаемые либы, коими являются плагины. Также он не показывает откуда загружается плагин. Ибо плагин имеет такую особенность что если неправильный плагин(скомпиленный не под ту версию или не тем компилятором) используешь то он тупо не загружается и никаких ошибок не увидишь.

Я нашел следующее: http://qt-project.org/faq/answer/what_is_needed_for_deploying_a_phonon_based_application. Теперь все работает. )))


Название: Re: Сборка проекта
Отправлено: Alex Custov от Апрель 23, 2012, 16:29
для фонона нужны бэкенды, сам он ничего не играет.