Сброка проекта qt5 |
Здравствуйте, гость ( Вход | Регистрация )
Сброка проекта 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 Прошу помощи в сборке. |
|
|
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 |
может у тебя приложение собрано в отладочном режиме? Тогда библиотеки тебе нужны с буковкой d на конце нет, приложение было собрано в режиме release. Было найдено рабочее решение, поэтому вопрос отменяется : Как отучить 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 |
По моему это можно решить проще, запустить 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) |
|
|
Текстовая версия | Сейчас: 22.11.2024, 12:52 |