crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Сброка проекта qt5
pharret31
  опции профиля:
сообщение 25.8.2013, 14:34
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 20.4.2013
Пользователь №: 3802

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброго времени суток!

У меня приключилась беда: проект готов, но банально выпустить не могу - не знаю как его собрать. Собрать его статически не выходит - руки не оттуда растут. Но это не принципиально.
Решаю собрать его киданием библиотек в папку с программой, но она оказалось очень ненасытной(скинул 14 dll-файлов). В итоге все извращенства не помогли:

Цитата
точка входа в процедуру ?roleNames@QAbstractItemModel@@UBE?AV?$QHash@HVQByteArray@@@@XZ не найдена в библиотеке DLL Qt5Core.dll


Прошу помощи в сборке. :help:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 26.8.2013, 0:43
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


может у тебя приложение собрано в отладочном режиме? Тогда библиотеки тебе нужны с буковкой d на конце
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
pharret31
  опции профиля:
сообщение 30.8.2013, 8:28
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 20.4.2013
Пользователь №: 3802

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 26.8.2013, 5:43) *
может у тебя приложение собрано в отладочном режиме? Тогда библиотеки тебе нужны с буковкой d на конце


нет, приложение было собрано в режиме release.

Было найдено рабочее решение, поэтому вопрос отменяется :rolleyes: :
Как отучить Qt 5.1 от *.dll (статическая линковка)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
rich
  опции профиля:
сообщение 21.10.2015, 13:36
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 123
Регистрация: 1.3.2008
Пользователь №: 109

Спасибо сказали: 6 раз(а)




Репутация:   0  


Та же проблема:
Цитата
Точка входа в процедуру __cxa_throw_bad_array_new_length не найдена в библиотеке DLL <Путь к exe файлу>\Qt5Core.dll.

Приложение собирается в qtcreator`е.
Qt 5.3 MinGW32bit-Release.

Запускаю windeployqt.exe который собирает все dll`ки. Получается так:
Раскрывающийся текст

Adding Qt5Svg for qsvgicon.dll
Direct dependencies: Qt5Core Qt5Gui Qt5Widgets
All dependencies : Qt5Core Qt5Gui Qt5Widgets
To be deployed : Qt5Core Qt5Gui Qt5Svg Qt5Widgets
Updating Qt5Core.dll.
Updating Qt5Gui.dll.
Updating Qt5Svg.dll.
Updating Qt5Widgets.dll.
Updating libGLESV2.dll.
Updating libEGL.dll.
Updating D3Dcompiler_47.dll.
Updating opengl32sw.dll.
Updating libgcc_s_dw2-1.dll.
Updating libstdc++-6.dll.
Updating libwinpthread-1.dll.
Patching Qt5Core.dll...
Creating directory iconengines.
Updating qsvgicon.dll.
Creating directory imageformats.
Updating qdds.dll.
Updating qgif.dll.
Updating qicns.dll.
Updating qico.dll.
Updating qjp2.dll.
Updating qjpeg.dll.
Updating qmng.dll.
Updating qsvg.dll.
Updating qtga.dll.
Updating qtiff.dll.
Updating qwbmp.dll.
Updating qwebp.dll.
Creating directory platforms.
Updating qwindows.dll.
Creating translations...
Creating qt_ca.qm...
Creating qt_cs.qm...
Creating qt_de.qm...
Creating qt_en.qm...
Creating qt_fi.qm...
Creating qt_fr.qm...
Creating qt_he.qm...
Creating qt_hu.qm...
Creating qt_it.qm...
Creating qt_ja.qm...
Creating qt_ko.qm...
Creating qt_lv.qm...
Creating qt_ru.qm...
Creating qt_sk.qm...
Creating qt_uk.qm...

Но это на рабочем windows, на тестовой где ничего не установлено другое сообщение. См. вложение.

Сообщение отредактировал rich - 21.10.2015, 13:41
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 21.10.2015, 14:43
Сообщение #5


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


По моему это можно решить проще, запустить Dependency Walker, посмотреть какие библиотеки требуются и положить их рядом с твоим приложением.
После чего уже пробовать на тестовом компьютере запустить. Обычно все работает без проблем!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
rich
  опции профиля:
сообщение 21.10.2015, 15:35
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 123
Регистрация: 1.3.2008
Пользователь №: 109

Спасибо сказали: 6 раз(а)




Репутация:   0  


Цитата(ViGOur @ 21.10.2015, 14:43) *
По моему это можно решить проще, запустить Dependency Walker, посмотреть какие библиотеки требуются и положить их рядом с твоим приложением.
После чего уже пробовать на тестовом компьютере запустить. Обычно все работает без проблем!

Не, проще запустить windeployqt что бы он сам всё сделал :)

Dependency Walker говорит что нет ieshims.dll

dll hell :search:

Собрал статично - работает. Но Dependency Walker всё равно говорит что нет ieshims.dll
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 21.10.2015, 19:59
Сообщение #7


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


deployqt утилита имела целый букет проблем при пакетировании приложения для OS X. Если говорить о Qt4.8.x.
Сомневаюсь, что она стала сильно продвинутой в Qt5.5 для WIN, чтоб деплоить под виндой относительно сложные программы.

Dependency Walker отлично помогает при сборке пакетов на WIN.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
LordMiller
  опции профиля:
сообщение 25.12.2015, 17:11
Сообщение #8


Новичок


Группа: Новичок
Сообщений: 1
Регистрация: 25.12.2015
Пользователь №: 4507

Спасибо сказали: 0 раз(а)




Репутация:   0  


Никаких дополнительных утилит и программ не нужно!
Qt-Creater показывает какие dll подключаются к приложению
Открываешь свое приложение, переходишь в режим отладки, справа будет кнопка обзоры, ставишь галочку на модули
Запускаешь свое приложение в режиме ОТЛАДКИ!
В окне модули будут появляться все библиотеки используемые программой. Многие библиотеки подключаются динамически, то есть например, если ты в своей программе подключаешься к базе по кнопке,
то и модуль в списке появится после нажатия.
В столбце путь к модулю указаны пути к библиотеке. Брать библиотеки из папки C:\Windows не нужно, берешь только QT-ешные
Если в модуле указано что используется плагин ( например C:\Qt\5.5\mingw492_32\plugins\platforms\qwindows.dll ), то ты должен положить рядом с приложением папку с плагином
(в примере это будет папка platforms\qwindows.dll)


Эскизы прикрепленных изображений
Прикрепленное изображение
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2024, 12:52