запуск qt приложений exe вне qt creator

Готовим приложение на Qt к работе на другом компьютере

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

Как сделать, чтобы пользователь мог работать с программой, написанной на Qt, на своём компьютере?

Подготовку программы на Qt к распространению можно условно разделить на два этапа:

Компиляция программы в «релиз»;

Комплектация программы необходимыми библиотеками.

Рассмотрим оба этапа применительно к Qt 5.7 с компилятором MinGW для операционной системы Windows.

Компиляция программы в «релиз»

Существуют два основных варианта компиляции приложения:

Отладочный вариант используется только на этапе разработки и не предназначен для распространения. Кроме того, при комплектации библиотеками для отладочного варианта последние должны иметь суффикс « d » в названии.

Поэтому программу перед распространением необходимо скомпилировать в варианте «Выпуск» («релиз»).

Выбрать нужный вариант компиляции можно непосредственно в рабочем окне QtCreator как показано на скриншоте.

запуск qt приложений exe вне qt creator. Kompilyatsiya v reliz. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-Kompilyatsiya v reliz. картинка запуск qt приложений exe вне qt creator. картинка Kompilyatsiya v reliz.

После выбора варианта компиляции и её последующего запуска, программа будет скомпилирована соответствующим образом.

Комплектация библиотеками

После компиляции программы её следует обязательно укомплектовать необходимыми библиотеками.

Дело в том, что в папке со скомпилированной программой находится только исполняемый файл (exe). В таком виде программа будет работоспособна только при запуске из QtCreator, что для обычного пользователя совершенно не приемлемо (да и для самого разработчика не всегда удобно).

Конкретный перечень необходимых библиотек зависит от проекта. Ниже приведён список самых основных из них (которые требуются для запуска любого Qt приложения).

Библиотеки собственно Qt:

Их, а также другие библиотеки Qt можно найти в папке : папка_установки_Qt\Tools\mingw530_32\bin

Служебные библиотеки компилятора:

Их можно найти в папке: папка_установки_Qt\5.7\mingw53_32\bin

Для того чтобы укомплектовать своё приложение необходимыми библиотеками достаточно просто скопировать их в папку с исполняемым файлом.

После этого программа будет готова к распространению и можно приступать к созданию инсталлятора или просто упаковать приложение вместе со всеми библиотеками, например, в zip архив.

Библиотеки для приложения следует копировать именно из папок mingw, а не QtCreator. В последнем случае программа будет укомплектована библиотеками, которые предназначены только для QtCreator и, как следствие, может в итоге оказаться неработоспособной.

Источник

Установка Qt под Visual Studio, MinGW и для разработки под Android

запуск qt приложений exe вне qt creator. featured image. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-featured image. картинка запуск qt приложений exe вне qt creator. картинка featured image.

Статьи из цикла

Инструкция по установке Qt с компилятором Visual Studio, MinGW и возможностью программировать под Android на примере Windows 10.

Если вы хотите установить Qt просто, чтобы программировать на C++ под Windows с стандартным компилятором, то вам подойдет упрощенная установка, описанная тут: Установка Qt.

Если вы хотите установить Qt под Windows XP, то данная статья вам не подойдет, так что вам сюда: Установка Qt 4.8.4 на Windows XP.

Подготовка для работы с компилятором Visual Studio

Если вы хотите использовать компилятор под Visual Studio, то вам нужно установить Visual Studio. В статье Установка Visual Studio 2017 Community рассказывается как это сделать.

Если вы хотите разрабатывать универсальные UWP приложения, то не забудьте включить режим Режим разработчика в параметрах Windows 10:

запуск qt приложений exe вне qt creator. parameters 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-parameters 01. картинка запуск qt приложений exe вне qt creator. картинка parameters 01.

запуск qt приложений exe вне qt creator. parameters 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-parameters 02. картинка запуск qt приложений exe вне qt creator. картинка parameters 02.

Решите до установки Qt, какой язык интерфейса будет у Visual Studio. От этого зависит язык сообщений об ошибках, которые будут приходит при компилировании проектов в Qt.

Можно язык поменять в настройках Visual Studio:

запуск qt приложений exe вне qt creator. lang 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-lang 01. картинка запуск qt приложений exe вне qt creator. картинка lang 01.

запуск qt приложений exe вне qt creator. lang 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-lang 02. картинка запуск qt приложений exe вне qt creator. картинка lang 02.

Но сейчас я предпочитаю в установщике Visual Studio Installer удалить русский пакет и установить английский, чтобы русский язык вообще нигде не вылазил:

запуск qt приложений exe вне qt creator. visual studio installer 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-visual studio installer 01. картинка запуск qt приложений exe вне qt creator. картинка visual studio installer 01.

запуск qt приложений exe вне qt creator. visual studio installer 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-visual studio installer 02. картинка запуск qt приложений exe вне qt creator. картинка visual studio installer 02.

Подготовка для программирования под Android

Если вы хотите писать приложения под Android, то вам нужно установить JDK. Об этом можно узнать из статьи Установка JDK 8 в Windows. Обратите внимание, что на июль 2019 рекомендую устанавливать по прежнему Java 8, хотя уже вышла Java 12, так как Qt с ними еще не умеет нормально работать. Но может в момент вашего прочтения этой статьи уже всё поменялось:

запуск qt приложений exe вне qt creator. error with java 12. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-error with java 12. картинка запуск qt приложений exe вне qt creator. картинка error with java 12.

Также вам будет нужен Android SDK и Android NDK. Можно их скачать отдельно, но рекомендую поставить Android Studio и оттуда управлять SDK и NDK с нормальным механизмом обновления. Статья об установке: Установка Android Studio в Windows. Особое внимание уделите на установку пакетов SDK из статьи.

Только после установки необходимых вам программ можно приступать к установке Qt.

Установка NDK

Как было сказано выше, то для тех, кто хочет программировать на Qt под Android, то вам нужен Android NDK.

Итак, после установки Android Studio открываем её. Либо так:

запуск qt приложений exe вне qt creator. ndk 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-ndk 01. картинка запуск qt приложений exe вне qt creator. картинка ndk 01.

запуск qt приложений exe вне qt creator. ndk 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-ndk 02. картинка запуск qt приложений exe вне qt creator. картинка ndk 02.

В разделе SDK Tools отмечаем NDK и устанавливаем его:

запуск qt приложений exe вне qt creator. ndk 03. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-ndk 03. картинка запуск qt приложений exe вне qt creator. картинка ndk 03.

запуск qt приложений exe вне qt creator. ndk 04. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-ndk 04. картинка запуск qt приложений exe вне qt creator. картинка ndk 04.

запуск qt приложений exe вне qt creator. ndk 05. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-ndk 05. картинка запуск qt приложений exe вне qt creator. картинка ndk 05.

запуск qt приложений exe вне qt creator. ndk 06. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-ndk 06. картинка запуск qt приложений exe вне qt creator. картинка ndk 06.

Теперь Android Studio можно закрывать.

Скачивание Qt

Практика нескольких лет наблюдений показывает, что Qt регулярно меняет алгоритм нахождения open source версии установщика, так что учтите это.

Там вам нужно спуститься почти в самый низ:

запуск qt приложений exe вне qt creator. download 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-download 01. картинка запуск qt приложений exe вне qt creator. картинка download 01.

И там находите Go open source :

запуск qt приложений exe вне qt creator. download 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-download 02. картинка запуск qt приложений exe вне qt creator. картинка download 02.

запуск qt приложений exe вне qt creator. download 03. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-download 03. картинка запуск qt приложений exe вне qt creator. картинка download 03.

запуск qt приложений exe вне qt creator. download 04. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-download 04. картинка запуск qt приложений exe вне qt creator. картинка download 04.

Если же вам нужен всё-таки offline установщик, то спуститесь в самый низ и увидите ссылку на них:

запуск qt приложений exe вне qt creator. download 05. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-download 05. картинка запуск qt приложений exe вне qt creator. картинка download 05.

Установка

Запускаем скаченный файл:

запуск qt приложений exe вне qt creator. install 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-install 01. картинка запуск qt приложений exe вне qt creator. картинка install 01.

Если у вас есть учетка на сайте Qt, то вводите данные, иначе нажимаете Skip :

запуск qt приложений exe вне qt creator. install 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-install 02. картинка запуск qt приложений exe вне qt creator. картинка install 02.

запуск qt приложений exe вне qt creator. install 03. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-install 03. картинка запуск qt приложений exe вне qt creator. картинка install 03.

запуск qt приложений exe вне qt creator. install 04. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-install 04. картинка запуск qt приложений exe вне qt creator. картинка install 04.

запуск qt приложений exe вне qt creator. install 05. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-install 05. картинка запуск qt приложений exe вне qt creator. картинка install 05.

В списке компонентов выбираем Qt Creator:

запуск qt приложений exe вне qt creator. install 06. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-install 06. картинка запуск qt приложений exe вне qt creator. картинка install 06.

В последней версии Qt выбираем пакеты с нужными компиляторами.

Лично мне у меня 64-битная Windows 10 с Visual Studio 2017 Community, и мне нужно проверять программы как на компиляторе Visual Studio, так и на MinGW. А также нужно программировать под Android. Поэтому я отметил вот эти пакеты:

запуск qt приложений exe вне qt creator. install 07. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-install 07. картинка запуск qt приложений exe вне qt creator. картинка install 07.

Sources — исходники Qt можно не выбирать, если они вам не нужны.

Рекомендую также выбрать для установки дополнительные компоненты. Их можно выбирать все:

запуск qt приложений exe вне qt creator. install 08. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-install 08. картинка запуск qt приложений exe вне qt creator. картинка install 08.

Если вам интересна программа Qt 3D Studio и Qt Installer Framework, то можете их отметить:

запуск qt приложений exe вне qt creator. install 09. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-install 09. картинка запуск qt приложений exe вне qt creator. картинка install 09.

Соглашаемся с условиями:

запуск qt приложений exe вне qt creator. install 10. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-install 10. картинка запуск qt приложений exe вне qt creator. картинка install 10.

запуск qt приложений exe вне qt creator. install 11. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-install 11. картинка запуск qt приложений exe вне qt creator. картинка install 11.

запуск qt приложений exe вне qt creator. install 12. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-install 12. картинка запуск qt приложений exe вне qt creator. картинка install 12.

запуск qt приложений exe вне qt creator. install 13. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-install 13. картинка запуск qt приложений exe вне qt creator. картинка install 13.

Настройка

Если Qt Creator запустился с русским интерфейсом, то настоятельно рекомендую поменять его на английский:

запуск qt приложений exe вне qt creator. config 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-config 01. картинка запуск qt приложений exe вне qt creator. картинка config 01.

запуск qt приложений exe вне qt creator. config 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-config 02. картинка запуск qt приложений exe вне qt creator. картинка config 02.

Потом перезапустите Qt Creator:

запуск qt приложений exe вне qt creator. config 03. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-config 03. картинка запуск qt приложений exe вне qt creator. картинка config 03.

Если вы создадите какой-нибудь проект в Qt и скомпилируете его под разными режимами (Release, Debug), то у вас в папке, где находится папка с проектом появятся еще папки с скомпилированным проектом:

запуск qt приложений exe вне qt creator. config 04. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-config 04. картинка запуск qt приложений exe вне qt creator. картинка config 04.

На мой взгляд это крайне неудобно и засоряет папку, где у вас могут находится другие проекты. Лучше было бы, чтобы эти скомпилированные файлы располагались в специальной папке в папке проекта. Поэтому я меняю в настройках путь. Вы можете не менять — это не принципиально.

Первоначальное значение параметра Default build directory :

запуск qt приложений exe вне qt creator. config 05. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-config 05. картинка запуск qt приложений exe вне qt creator. картинка config 05.

Новое значение параметра Default build directory :

запуск qt приложений exe вне qt creator. config 06. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-config 06. картинка запуск qt приложений exe вне qt creator. картинка config 06.

Update 2019-07-13. Сейчас у меня стоит такое значение:

Настройка для работы с компилятором Visual Studio

Если у вас Visual Studio с русским интерфейсом, то в сообщениях об ошибках при компилировании в Qt вы будете видеть крякозябры. В статье Крякозябры в Qt под Visual Studio рассказывается как от них избавиться.

Можно поменять язык интерфейса Visual Studio на английский, но лучше это сделать до установки Qt, как говорилось выше. Но если вы все-таки это сделали после установки Qt, и новые проекты хорошо компилируются под компилятором Visual Studio, то со старыми проектами могут возникнуть проблемы:

запуск qt приложений exe вне qt creator. error 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-error 01. картинка запуск qt приложений exe вне qt creator. картинка error 01.

запуск qt приложений exe вне qt creator. error 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-error 02. картинка запуск qt приложений exe вне qt creator. картинка error 02.

Настройка для программирования под Android

Перейдем в настройки Qt:

запуск qt приложений exe вне qt creator. config 03. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-config 03. картинка запуск qt приложений exe вне qt creator. картинка config 03.

запуск qt приложений exe вне qt creator. config 07. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-config 07. картинка запуск qt приложений exe вне qt creator. картинка config 07.

В разделе Android SDK Location выбираем папку, где установлено SDK библиотеки:

запуск qt приложений exe вне qt creator. config 08. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-config 08. картинка запуск qt приложений exe вне qt creator. картинка config 08.

В разделе Android NDK Location выбираем папку, где установлено NDK библиотеки:

запуск qt приложений exe вне qt creator. config 09. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-config 09. картинка запуск qt приложений exe вне qt creator. картинка config 09.

запуск qt приложений exe вне qt creator. config 10. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-config 10. картинка запуск qt приложений exe вне qt creator. картинка config 10.

Update 2019-07-13. Практика показывает, что Qt не всегда поспевает за изменениями в Android SDK и NDK. Поэтому иногда требуются шаманства с бубном, чтобы всё заработало. Причем каждый раз будут свои проблемы. Что делать? Гуглите те сообщения об ошибках, которые у вас будут возникать и ищите ответ на https://forum.qt.io/. Например, на данный момент Qt не собирает приложения с Android SDK Build-Tools 29 и ему нужна версия 28.

Вначале удаляем 29 версию:

запуск qt приложений exe вне qt creator. fix sdk tools 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-fix sdk tools 01. картинка запуск qt приложений exe вне qt creator. картинка fix sdk tools 01.

Потом устанавливаем 28 версию и те пакеты, которые удалились вместе с 29 версией:

запуск qt приложений exe вне qt creator. fix sdk tools 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-fix sdk tools 02. картинка запуск qt приложений exe вне qt creator. картинка fix sdk tools 02.

запуск qt приложений exe вне qt creator. fix sdk tools 03. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-fix sdk tools 03. картинка запуск qt приложений exe вне qt creator. картинка fix sdk tools 03.

Update 2019-07-13. С NDK также могут быть проблемы, так что велика вероятность, что последняя версия NDK у вас не заработает. Тут рекомендую скачать старую версию NDK на официальном сайте https://developer.android.com/ndk/downloads/older_releases. На момент обновления статьи работала NDK версии 19:

запуск qt приложений exe вне qt creator. old ndk 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-old ndk 01. картинка запуск qt приложений exe вне qt creator. картинка old ndk 01.

Распакуйте отдельно данный архив и укажите в Qt, когда до этого дойдет дело (об этом читайте ниже в статье):

запуск qt приложений exe вне qt creator. old ndk 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-old ndk 02. картинка запуск qt приложений exe вне qt creator. картинка old ndk 02.

Если у вас проблемы с эмулятором, то помните, что в конце статьи Установка Android Studio в Windows есть описание того, как создать виртуальные устройства в стандартном эмуляторе, а также рассмотрены несколько других сторонних эмуляторов.

Пример программы

В статье Базовое приложение в Qt Widgets рассказано как создать стандартное Windows приложение со стандартными контролами. Теперь же попробуем создать шаблонное приложение на основе Qt Quick, где логика пишется на C++, а интерфейс на QML:

запуск qt приложений exe вне qt creator. test 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 01. картинка запуск qt приложений exe вне qt creator. картинка test 01.

Выбираем вариант Qt Quick Application — Swipe:

запуск qt приложений exe вне qt creator. test 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 02. картинка запуск qt приложений exe вне qt creator. картинка test 02.

запуск qt приложений exe вне qt creator. test 03. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 03. картинка запуск qt приложений exe вне qt creator. картинка test 03.

запуск qt приложений exe вне qt creator. test 04. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 04. картинка запуск qt приложений exe вне qt creator. картинка test 04.

запуск qt приложений exe вне qt creator. test 05. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 05. картинка запуск qt приложений exe вне qt creator. картинка test 05.

Выберем для теста все возможные компиляторы для сборки проекта:

запуск qt приложений exe вне qt creator. test 06. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 06. картинка запуск qt приложений exe вне qt creator. картинка test 06.

запуск qt приложений exe вне qt creator. test 07. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 07. картинка запуск qt приложений exe вне qt creator. картинка test 07.

Вначале скомпилируем проект под стандартный MinGW, который мы никак выше не настраивали (это и не нужно):

запуск qt приложений exe вне qt creator. test 08. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 08. картинка запуск qt приложений exe вне qt creator. картинка test 08.

запуск qt приложений exe вне qt creator. test 09. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 09. картинка запуск qt приложений exe вне qt creator. картинка test 09.

запуск qt приложений exe вне qt creator. test 10. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 10. картинка запуск qt приложений exe вне qt creator. картинка test 10.

Теперь попробуем скомпилировать через компилятор Visual Studio:

запуск qt приложений exe вне qt creator. test 11. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 11. картинка запуск qt приложений exe вне qt creator. картинка test 11.

Может возникнуть такая ошибка:

запуск qt приложений exe вне qt creator. test 12. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 12. картинка запуск qt приложений exe вне qt creator. картинка test 12.

запуск qt приложений exe вне qt creator. test 13. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 13. картинка запуск qt приложений exe вне qt creator. картинка test 13.

Теперь попробуем запустить под Android на эмуляторе:

запуск qt приложений exe вне qt creator. test 14. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 14. картинка запуск qt приложений exe вне qt creator. картинка test 14.

запуск qt приложений exe вне qt creator. test 15. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 15. картинка запуск qt приложений exe вне qt creator. картинка test 15.

запуск qt приложений exe вне qt creator. test 16. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 16. картинка запуск qt приложений exe вне qt creator. картинка test 16.

Потом можно повторить историю с запуском приложения как универсальное приложение Windows:

запуск qt приложений exe вне qt creator. test 17. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 17. картинка запуск qt приложений exe вне qt creator. картинка test 17.

запуск qt приложений exe вне qt creator. test 18. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-test 18. картинка запуск qt приложений exe вне qt creator. картинка test 18.

Обратите внимание на то, что именно с UWP чаще всего возникают проблемы с запуском приложения из-за обновлений Qt и Visual Studio. У меня было много раз, когда после обновления первого или второго продукта UWP приложения с теми или иными сообщениями не хотели запускаться.

Update 2019-07-13. Если честно, то лично у меня работа с UWP приложениями в Qt почти всегда не работает после переустановки Qt и сопутствующих программ. И лишь танцы с бубном иногда спасают ситуацию. Но, например, в данный момент даже они не помогли, и еще до этапа компиляции проекта выводится вот такая ошибка:

запуск qt приложений exe вне qt creator. error uwp. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-error uwp. картинка запуск qt приложений exe вне qt creator. картинка error uwp.

В своё время была долгая беседа в баг-трекере по поводу этой ошибки: https://bugreports.qt.io/browse/QTCREATORBUG-21366, и программисты Qt никак не могли решить её. В тот раз всё разрешилось обновлением Visual Studio. В чем было дело: я не знаю. Может реально в обновлении было что-то исправлено, или это повлияло лишь косвенно. Но на данный момент такая же проблема у меня проявляется опять и как её решить я не знаю.

Дополнительные настройки

В этом разделе опишу свои собственные настройки Qt, которые не обязательны, но могут вам пригодиться.

Вертикальная линия для ограничения длины строк

запуск qt приложений exe вне qt creator. additional config 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-additional config 01. картинка запуск qt приложений exe вне qt creator. картинка additional config 01.

Два пробела для отступов вместо четырех

Мне не нравится использовать 4 пробела в отступах: 2 пробела достаточно:

запуск qt приложений exe вне qt creator. additional config 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-additional config 02. картинка запуск qt приложений exe вне qt creator. картинка additional config 02.

запуск qt приложений exe вне qt creator. additional config 03. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-additional config 03. картинка запуск qt приложений exe вне qt creator. картинка additional config 03.

запуск qt приложений exe вне qt creator. additional config 04. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-additional config 04. картинка запуск qt приложений exe вне qt creator. картинка additional config 04.

запуск qt приложений exe вне qt creator. additional config 05. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-additional config 05. картинка запуск qt приложений exe вне qt creator. картинка additional config 05.

запуск qt приложений exe вне qt creator. additional config 06. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-additional config 06. картинка запуск qt приложений exe вне qt creator. картинка additional config 06.

запуск qt приложений exe вне qt creator. additional config 07. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-additional config 07. картинка запуск qt приложений exe вне qt creator. картинка additional config 07.

Дублирование строки

запуск qt приложений exe вне qt creator. additional config 08. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-additional config 08. картинка запуск qt приложений exe вне qt creator. картинка additional config 08.

запуск qt приложений exe вне qt creator. additional config 09. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-additional config 09. картинка запуск qt приложений exe вне qt creator. картинка additional config 09.

Найдем эту команду DeleteSelectedElements и удаляем сочетание горячих клавиш или меняем на другое:

запуск qt приложений exe вне qt creator. additional config 10. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-additional config 10. картинка запуск qt приложений exe вне qt creator. картинка additional config 10.

Теперь конфликта нет, и комбинация Ctrl + D будет дублировать строку:

запуск qt приложений exe вне qt creator. additional config 11. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-additional config 11. картинка запуск qt приложений exe вне qt creator. картинка additional config 11.

Шрифты

Мне нравится шрифт Roboto Mono : красивый, бесплатный (лицензия Apache 2.0), используется по умолчанию в Android. В общем, везде его использую.

После установки шрифтов в настройках Qt можно поменять шрифт:

запуск qt приложений exe вне qt creator. additional config 12. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-additional config 12. картинка запуск qt приложений exe вне qt creator. картинка additional config 12.

запуск qt приложений exe вне qt creator. font 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-font 01. картинка запуск qt приложений exe вне qt creator. картинка font 01.

запуск qt приложений exe вне qt creator. font 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-font 02. картинка запуск qt приложений exe вне qt creator. картинка font 02.

Обидно, что расстояние между строчками немного уменьшилось.

Автосохранение

Также выставляю автосохранение файлов на минимальное время в одну минуту:

Статья обновлена 2019-07-13

Инструкция по установке Qt с компилятором Visual Studio, MinGW и возможностью программировать под Android на примере Windows 10.

Инструкция по установке Qt с компилятором Visual Studio, MinGW и возможностью программировать под Android на примере Windows 10.

Источник

запуск qt приложений exe вне qt creator. featured image. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-featured image. картинка запуск qt приложений exe вне qt creator. картинка featured image.

Статьи из цикла

В статье рассказывается как запускать приложения, созданные в Qt без самого Qt Creator. Или же приложения должны запускаться на компах, где нет Qt.

Тут расскажу о самом механизме нахождения DLL, так как Qt активно развивается и регулярно новые версии выпускает, и под каждую версию писать статью о новом наборе DLL накладно.

В качестве среды для разработки используется Qt 5.2.0 for Windows 32-bit (MinGW 4.8). Для версий не с компилятором MinGW алгоритм решение проблемы может быть иным.

Проблема

При запуске приложения в самом Qt Creator (при нажатии на зеленую стрелку, или же через меню, или же иным способом) мы видим наше приложение:

запуск qt приложений exe вне qt creator. program 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-program 01. картинка запуск qt приложений exe вне qt creator. картинка program 01.

Когда мы создавали приложение, то мы видели следующее окно:

запуск qt приложений exe вне qt creator. mingw. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-mingw. картинка запуск qt приложений exe вне qt creator. картинка mingw.

Указанные тут папки и есть папки, куда сохраняется наше приложение.

Если мы перейдем в папку C:\Qt\build-Example-Desktop_Qt_5_2_0_MinGW_32bit-Debug (у вас папка может по-другому называться), то увидим следующее:

запуск qt приложений exe вне qt creator. files project 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files project 01. картинка запуск qt приложений exe вне qt creator. картинка files project 01.

Зайдем в папку debug и найдем там наше приложение:

запуск qt приложений exe вне qt creator. files project 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files project 02. картинка запуск qt приложений exe вне qt creator. картинка files project 02.

Если мы его запустим, то получим ошибку:

запуск qt приложений exe вне qt creator. error 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-error 01. картинка запуск qt приложений exe вне qt creator. картинка error 01.

Первый способ — Официальная утилита windeployqt

Перейти можно с помощью команды cd :

запуск qt приложений exe вне qt creator. windeployqt 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-windeployqt 01. картинка запуск qt приложений exe вне qt creator. картинка windeployqt 01.

Скомпилируйте в режиме Release ваше приложение. Для примера я создал простое Qt Widgets Application и скомпилировал под MinGW компилятором:

запуск qt приложений exe вне qt creator. windeployqt 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-windeployqt 02. картинка запуск qt приложений exe вне qt creator. картинка windeployqt 02.

Найдите папку, в которой находится скомпилированный EXE файл. Например, в моем случае это папка D:\Harrix\Projects\Qt\untitled\_build\release :

запуск qt приложений exe вне qt creator. windeployqt 03. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-windeployqt 03. картинка запуск qt приложений exe вне qt creator. картинка windeployqt 03.

Теперь можно в командной строке вызвать windeployqt с указанием папки с EXE файлом:

запуск qt приложений exe вне qt creator. windeployqt 04. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-windeployqt 04. картинка запуск qt приложений exe вне qt creator. картинка windeployqt 04.

Теперь в папке добавились нужные файлы:

запуск qt приложений exe вне qt creator. windeployqt 05. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-windeployqt 05. картинка запуск qt приложений exe вне qt creator. картинка windeployqt 05.

запуск qt приложений exe вне qt creator. windeployqt 06. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-windeployqt 06. картинка запуск qt приложений exe вне qt creator. картинка windeployqt 06.

После этого приложение должно запуститься. Настоятельно рекомендую проверить работоспособность приложения на чистом компьютере без установленной Qt.

Стоит обратить внимание на то, что windeployqt может копировать лишние файлы. От них можно избавиться, потихоньку удаляя файлы из папки на чистом компьютере.

Второй способ — Ручной

Начало решения проблемы

Мы же хотим, чтобы приложение запускалось на других компах? Поэтому надо в окончательном виде выдавать приложение, а не в режиме отладки.

Внизу, над зеленым треугольником выбираем режим Release :

запуск qt приложений exe вне qt creator. compile 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-compile 01. картинка запуск qt приложений exe вне qt creator. картинка compile 01.

запуск qt приложений exe вне qt creator. compile 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-compile 02. картинка запуск qt приложений exe вне qt creator. картинка compile 02.

Запускаем приложение, нажатием на зеленый треугольник:

запуск qt приложений exe вне qt creator. program 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-program 02. картинка запуск qt приложений exe вне qt creator. картинка program 02.

Как видим, через некоторое время запустилось привычное нам приложение. Но теперь *.exe файл появился в папке, которое мы указывали для Release :

запуск qt приложений exe вне qt creator. mingw. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-mingw. картинка запуск qt приложений exe вне qt creator. картинка mingw.

Заходим в эту папку (у меня это C:\Qt\build-Example-Desktop_Qt_5_2_0_MinGW_32bit-Release ):

запуск qt приложений exe вне qt creator. files project 03. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files project 03. картинка запуск qt приложений exe вне qt creator. картинка files project 03.

запуск qt приложений exe вне qt creator. error 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-error 02. картинка запуск qt приложений exe вне qt creator. картинка error 02.

Нахождение DLL и других файлов

Итак, приложение ругается на отсутствие Qt5Core.dll (у вас может быть цифра другая, если в момент чтения статьи вышла иная версия Qt). Где этот файл искать?

Найдите папку, в которую устанавливался Qt. У меня это папка C:\QtQt5.2.0

запуск qt приложений exe вне qt creator. files qt 01. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files qt 01. картинка запуск qt приложений exe вне qt creator. картинка files qt 01.

В ней будет папка компилятора MinGW:

запуск qt приложений exe вне qt creator. files qt 02. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files qt 02. картинка запуск qt приложений exe вне qt creator. картинка files qt 02.

запуск qt приложений exe вне qt creator. files qt 03. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files qt 03. картинка запуск qt приложений exe вне qt creator. картинка files qt 03.

В ней находим главную папку bin :

запуск qt приложений exe вне qt creator. files qt 04. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files qt 04. картинка запуск qt приложений exe вне qt creator. картинка files qt 04.

запуск qt приложений exe вне qt creator. error 03. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-error 03. картинка запуск qt приложений exe вне qt creator. картинка error 03.

запуск qt приложений exe вне qt creator. program 03. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-program 03. картинка запуск qt приложений exe вне qt creator. картинка program 03.

Ура! Но рано радоваться. Если мы запустим на компе, где нет Qt, то приложение выдаст ошибку, так как не может найти библиотеки. Надо скопировать еще несколько файлов. Помните основную папку Qt? Переходим в неё:

запуск qt приложений exe вне qt creator. files qt 05. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files qt 05. картинка запуск qt приложений exe вне qt creator. картинка files qt 05.

Там есть папка Tools :

запуск qt приложений exe вне qt creator. files qt 06. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files qt 06. картинка запуск qt приложений exe вне qt creator. картинка files qt 06.

В ней есть папка QtCreator :

запуск qt приложений exe вне qt creator. files qt 07. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files qt 07. картинка запуск qt приложений exe вне qt creator. картинка files qt 07.

запуск qt приложений exe вне qt creator. files qt 08. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files qt 08. картинка запуск qt приложений exe вне qt creator. картинка files qt 08.

Скопируйте файл qt.conf в папку с *.exe файлом:

запуск qt приложений exe вне qt creator. files project 04. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files project 04. картинка запуск qt приложений exe вне qt creator. картинка files project 04.

Теперь перейдите в папку с компилятором:

запуск qt приложений exe вне qt creator. files qt 09. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files qt 09. картинка запуск qt приложений exe вне qt creator. картинка files qt 09.

запуск qt приложений exe вне qt creator. files qt 10. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files qt 10. картинка запуск qt приложений exe вне qt creator. картинка files qt 10.

запуск qt приложений exe вне qt creator. files qt 11. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files qt 11. картинка запуск qt приложений exe вне qt creator. картинка files qt 11.

запуск qt приложений exe вне qt creator. files project 05. запуск qt приложений exe вне qt creator фото. запуск qt приложений exe вне qt creator-files project 05. картинка запуск qt приложений exe вне qt creator. картинка files project 05.

Здесь показан принцип, как находить нужные DLL. Если вы используете какие то другие компоненты, например, QWebVie w, то вам будут нужны еще другие DLL, которые вы находите аналогичным способом.

Внимание! Иногда описанный выше способ не помогает. Вроде скопировали все DLL, что вам могли пригодиться, приложение даже запускается, но вы видите лишь белый экран, например, или приложение вообще не появляется, но в диспетчере задач появляется.

Статья обновлена 2018

В статье рассказывается как запускать приложения, созданные в Qt без самого Qt Creator. Или же приложения должны запускаться на компах, где нет Qt.

В статье рассказывается как запускать приложения, созданные в Qt без самого Qt Creator. Или же приложения должны запускаться на компах, где нет Qt.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *