Ответ 1
Я думаю, что ответ rubenvb теперь лучший ответ на этот вопрос: MSYS2 содержит обновленный Qt, созданный с помощью MinGW-w64, и это то, что вы Мне нужно будет создавать 64-битные приложения Qt. Я рекомендую использовать ссылку Qt wiki в ответ rubenvb для развертывания; это значительно улучшилось.
Qt64-NG
Я рекомендую установить вашу Qt-сборку из проекта Qt64-NG.
Проект предоставляет обновленную сборку x64 Qt с помощью MinGW-w64. Компилятор GCC проекта MinGW-w64 также включен в версии установщика (но не в 7z). Вам понадобится такая же версия GCC в MinGW-w64, которая использовалась для создания Qt для создания ваших собственных приложений, поэтому я бы рекомендовал выбрать установщик.
Вам нужно будет выбрать сборку с помощью метода разметки стека исключений, который вы хотите. Вопрос В чем разница между sjlj vs dwarf vs seh? описывает различия между типами обработчиков исключений, которые присутствуют в разных строках Qt. SJLJ был единственным выбором, прежде чем GCC 4.8 был выпущен, но позже версии GCC поддерживают SEH. Любой выбор будет работать, хотя SEH более эффективен.
После установки
После установки Qt вы можете добавить каталоги Qt/qt-ver/qt-ver/bin и Qt/qt-ver/mingw64/bin в свою переменную User или System Path в переменных среды, что позволит вам использовать MinGW-w64 GCC для создания из вашего предпочтительного процесса сборки. Qt Creator автоматически определит MinGW-w64 в качестве установленного компилятора после этого.
Если вы предпочитаете не добавлять к своему пути, вы можете указать компилятор для версии, которую вы только что настроили с помощью Qt Creator, вручную. Вероятно, вам нужно добавить версию Qt, выбрав qmake.exe в разделе "Параметры" > "Сборка и запуск". Вы также захотите выбрать gdb.exe в качестве отладчика на вкладке "Сборка и запуск" > "Отладчики". Он будет расположен в Qt/qt-ver/qt-ver/mingw64/bin.
Вы можете обменять инструментальную цепочку MinGW-w64 на другие инструментальные цепочки. Для этого в Qt Creator вы можете создавать и менять между наборами.
Развертывание
Вы можете использовать сборку Qt64-NG для разработки и развертывания. Чтобы развернуть, вы захотите упаковать файлы, которые потребуются вашему приложению, с вашим приложением, поэтому конечным пользователям не придется выполнять какие-либо дополнительные шаги установки.
Сначала создайте папку развертывания (вероятно, с вашим именем приложения) и скопируйте на нее файл exe приложения. Если вы используете Qt Creator, вы можете найти путь к вашему приложению exe либо на вкладке "Проекты" на боковой панели, либо в файле .pro. Приложения, если он указан там.
Существует два способа копирования зависимостей dll, необходимых для запуска приложения. Вы можете либо скопировать нужные файлы вручную, либо воспользоваться программой windeployqt, программой с установленной Qt-установкой, которая автоматически скопирует (большинство) необходимые зависимости для развертывания в папку развертывания приложения, которую вы только что создали.
Скопировать файлы вручную
Скопируйте следующие файлы DLL из ваших папок Qt/qt-ver/qt-ver/bin и Qt/qt-ver/mingw64/bin в папку развертывания вашего приложения. Некоторые файлы DLL будут расположены в обеих папках, и любое место допустимо для использования:
icudt54.dll
icuin54.dll
icuuc54.dll
libgcc_s_sjlj.dll or libgcc_s_seh.dll (corresponds with chosen stack unwinding method)
libssp-0.dll
libstdc++-6.dll
libwinpthread-1.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Widgets.dll
Вам также нужно будет указать любые файлы Qt5 *.dll, соответствующие модулю Qt, который вы используете в своем проекте.
Затем вам нужно будет скопировать любые DLL файлы плагина, которые требуется Qt. Qt будет искать плагины по умолчанию в папке/плагинах развертывания приложения. Вы можете найти папки плагинов, которые вы хотите скопировать в Qt/qt-ver/qt-ver/plugins. Исключением из этого является папка платформ, в которой она попытается найти в вашем приложении развертывание каталога/платформ. Следующая структура каталогов указывает, где скопировать файлы для минимального проекта. Скопируйте любые другие необходимые плагины, включая содержащую папку, в папку развертывания/плагинов.
/развернуть
/platforms
/plugins
icudt54.dll
icuin54.dll
icuuc54.dll
app.exe
libgcc_s_seh-1.dll
libssp-0.dll
libstdc++-6.dll
libwinpthread-1.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Widgets.dll
/развернуть/платформы
qwindows.dll
/развернуть/плагинов/imageformats
qjpeg.dll
Windeployqt
Вы можете найти файл windeployqt.exe в папке Qt/qt-ver/qt-ver/bin. Windeployqt требует, чтобы ваша папка Qt/qt-ver/qt-ver/bin и mingw64/bin находилась в переменной User или System Path для правильной работы.
Чтобы использовать windeployqt, откройте окно команд и перейдите в каталог развертывания приложения. Синтаксис его запуска можно найти в Qt Deployment. Вероятно, вы захотите запустить его следующим образом:
windeployqt.exe app.exe
Windeployqt (Qt 5.4.1) скопирует ваши плагины изображений и значков на плагины вашего приложения, а не внутри папки плагинов. Это правильное местоположение, так как оно изменяет, где Qt ищет эти папки.
Устранение неполадок
Вы можете проверить, есть ли у вас правильные файлы, запустив приложение на компьютере, на котором не установлена библиотека разработки Qt и на пути. Если вы не получите ошибок при запуске приложения, вы узнаете, что Qt нашел необходимые ему зависимости, и вы можете упаковать приложение для распространения.
Если вы получаете ошибки, обратитесь к Руководство по развертыванию Tripleboot. Вы также можете попытаться использовать Process Explorer, чтобы узнать, какие зависимости приложение пытается загрузить, когда оно дает ошибку с отсутствием зависимости.
Упаковка
Часто приложения распространяются вместе с архивом и/или установщиком. Qt Installer Framework обеспечивает удобный способ для упаковки вашего приложения Qt для распространения в качестве исполняемого файла установщика.