Предпосылки приложения Qt и Qt - PullRequest
1 голос
/ 06 декабря 2011

Я новичок в Qt и работаю в Windows 7.

Когда я пытаюсь запустить свое приложение напрямую, я вижу ошибку об отсутствии некоторых DLL. Я пытался их исправить, но не смог (я пытался строить статически).

Есть ли правильное решение?

Мой вопрос:

Если я хочу запустить свое приложение Qt на других компьютерах, что мне нужно? Например, для приложения .NET нам нужно установить .NET Framework на целевом компьютере, но как насчет Qt?

Я искал его SDK и нашел SDK, который был около 1,6 ГБ! Означает ли это, что каждый раз, когда я хочу установить приложение, я должен установить SDK размером 1,6 ГБ? Это очень плохо.

Спасибо.

Ответы [ 4 ]

5 голосов
/ 06 декабря 2011

Вы должны распространять свое приложение с необходимыми библиотеками. Если ваше приложение работает в Windows, вы можете следовать этому руководству: Развертывание приложения в Windows . Вы можете найти необходимые библиотеки как dll в каталоге bin внутри SDK. Базовому приложению Qt GUI требуется как минимум QTCORE4.DLL , QTGUI4.DLL и, если вы используете Qt Creator, MINGWM10.DLL . Вы можете оставить эти библиотеки в том же каталоге, что и ваше приложение.

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

Вы не можете статически связываться с Qt, если вы не создали библиотеки в этой конфигурации (чего не произойдет, если вы только что скачали предварительно собранный SDK).Имейте в виду, что если вы хотите связать статически, для некоторых компонентов могут возникнуть проблемы с лицензированием.

Если вы создали конфигурацию выпуска, вам понадобятся как минимум библиотеки, упомянутые Alessandro, QtCore4.dll и QtGui4.dll.В зависимости от других частей используемой вами библиотеки, вам также могут понадобиться QtXml4.dll, QtWebkit4.dll, QtXmlPatterns4.dll и, возможно, Phonon.dll.Убедитесь, что вы создаете конфигурацию выпуска, а не конфигурацию отладки, поскольку она не будет работать, так как для этого требуются среды отладки Visual Studio, которые вы не можете распространять.Если вы сомневаетесь, какие dll вам нужны, используйте DependencyWalker , чтобы узнать (обратите внимание, что это не показывает Phonon.dll, поскольку он загружается позже).

Как правило, вам понадобится всего 4-6 библиотек, вам не понадобится весь SDK.

0 голосов
/ 11 сентября 2013

Если вы работаете с Qt5, кроме DLL-файлов, упомянутых в первом ответе, вы также должны добавить платформу / папку из каталога bin внутри SDK.

0 голосов
/ 06 декабря 2011

Обратите внимание, что многие приложения используют Qt, у вас есть реальный шанс, что библиотеки DLL уже установлены. Как бы то ни было, остерегайтесь зависимостей MSVC: у нас был настоящий кошмар развертывания приложений на каком-либо сервере, частично связанный с переключением политики с VS2005 на VS2008. Алессандро уже предоставил хороший ресурс: см. Также this предыдущий пост.

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