Как развернуть мое приложение с помощью Qt-Creator?
Я пытаюсь развернуть мой простой проект Qt, как мир привет.
Я построю его успешно и могу также выполнить его на Qt-Creator. Тем не менее, я не могу выполнить двоичный файл непосредственно в папке выпуска из-за некоторых ошибок в общей библиотеке.
Итак, я просто скопирую некоторые основные библиотеки в папку выпуска, такие как qtcore.dll и qtgui.dll, но я не могу ее выполнить.
Как я могу развернуть мой простой проект Qt? Есть ли еще один шаг для его развертывания?
Ответы
Ответ 1
Вам также необходимо развернуть dll среды выполнения MINGW (mingwm10.dll
). Этот файл находится в вашем каталоге Qt\2009.5\mingw\bin
.
Также обратите внимание, скомпилировано ли ваше приложение в режиме отладки или в режиме деблокирования. Я просто сделал тест с помощью приложения типа "привет" и Qt Creator. В папках debug
я скопировал libgcc_s_dw2-1.dll
, mingwm10.dll
, QtCored4.dll
и QtGuid4.dll
, и он работает.
Обратите внимание на имена d
в dll, что означает отладка: QtCore
d
4.dll
.
См. Qt 4.6: Развертывание приложения в Windows.
Для Qt 5, проверьте эту страницу.
Ответ 2
Если вы не хотите иметь зависимости с dll qt/mingw, вы должны скомпилировать qt статически, как объясните здесь: http://qt.nokia.com/doc/4.6/deployment-windows.html#static-linking.
Ответ 3
Вы также можете использовать статическое связывание, просто добавьте эту строку в файл .pro
:
QMAKE_LFLAGS += -static-libgcc
Я нашел решение здесь и успешно протестирован на WinXP с создателем QT 2.2.0
Ответ 4
Попробуйте запустить на нем зависимый хостер (http://dependencywalker.com/), чтобы увидеть, какие DLL файлы отсутствуют?
Как правило, вам не нужно перемещать эти библиотеки Qt в свою локальную папку, так как установка Qt должна была добавить эти библиотеки в ваш путь.
Одна из возможностей заключается в том, что вы построили отладку, а dll-ответчики Qt называются по-разному
Ответ 5
скопируйте все dll dt в каталог Windows непосредственно "C:\Windows \" и не будет ошибки dt qt dll
100% рабочая и простая
nb: не создавайте папку dt dt в каталоге Windows, ставьте их как они