Как работать не qt creator

Запуск Qt приложений .exe вне Qt Creator

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

28.01.2014 63 комментария 151 909 просмотров

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

Для версии Qt под компилятор Visual Studio статья другая.

Содержание

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

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

Проблема

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

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

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

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

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

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

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

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

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

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

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

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

Если в прошлый раз мы заходили в папку debug , то сейчас заходим в папку release , и запускаем приложение.

  • Кстати, для последующего распространения программы нам из папки нужен (из текущих файлов) только *.exe файл, поэтому файлы main.o, mainwindow.o, moc_mainwindow.cpp, moc_mainwindow.o можно удалить без ущерба (это служебные файлы, которые при каждой компиляции будут появляться).
  • Нахождение Dll и других файлов

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

    1. Найдите папку, в которую устанавливался Qt. У меня это папка C:\QtQt5.2.0
    2. В ней найдите папку с номером версии вашего Qt. У меня это первая папка с названием 5.2.0-rc1 . У вас скорее всего будет немного по другому называться (у меня сейчас beta версия стоит).

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

    Переходим в неё:

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

    И в этой папке находим нужные нам dll . Находим тут Qt5Core.dll (не Qt5Cored.dll . ) и копируем в папку C:\Qt\build-Example-Desktop_Qt_5_2_0_MinGW_32bit-Release\release (где наш *.exe файл находится). И запустим приложение:

    И вот так копируем все нужные dll, которые просит приложение. У меня потребовались следующие dll: icudt51.dll, icuin51.dll, icuuc51.dll, libgcc_s_dw2-1.dll, libstdc++-6.dll, libwinpthread-1.dll, Qt5Core.dll, Qt5Gui.dll, Qt5Widgets.dll. И вот приложение запустилось:

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

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

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

    В ней папка bin :

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

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

    А там перейдем в папку plugins , а оттуда в platforms :

  • Скопируйте файлы qminimal.dll и qwindows.dll . Но вставим не просто в папку с *.exe файлом, там создадим папку plugins , а там папку platforms , и уже в нее вставим файлы. То есть для всех dll, которые нам могут пригодиться, нокоторые находятся не прямо в папке bin, то для этих dll в папке с exe файлом мы должны создать такие же папки, в которых они находились, относительно папки компилятора. В нашем случае в папке с компилятором файлы находись под именами: [путь к папке с компилятором] \plugins \platforms \qminimal.dll , [путь к папке с компилятором] \plugins \platforms \qwindows.dll . Поэтому копируйте так: [путь к папке с *.exe файлом] \plugins \platforms \qminimal.dll , [путь к папке с *.exe файлом] \plugins \platforms \qwindows.dll .
  • Вот теперь приложение запустится везде! То есть вы должны вместе с exe файлом копировать все эти dll и qt.conf. На скриншоте временные файлы я не удалил.

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

    Помните, что если вы используется QtQuick то вам еще потребуется папка qml.

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

    В таком случае копируйте все dll из папки bin (а из остальных мест в виде папок, где они хранятся) и начинайте скрупулезно удалять поштучно dll до тех пор пока не сузите число файлов до минимально работающего числа. Помните, что все dll есть в двух вариантах: для release и ли debug режима. Для debug режима в имени dll появляется буква d. Эти файлы вам не нужны.

    Источник

    Урок №1. Введение в Qt и установка Qt Creator

    Обновл. 16 Сен 2021 |

    На этом уроке мы познакомимся с кроссплатформенным фреймворком Qt и установим IDE для работы с ним.

    Введение в Qt

    Qt является кроссплатформенным (не зависящим от платформы/ОС) фреймворком для разработки приложений на языке С++. С помощью Qt были разработаны такие известные приложения, как: KDE, Opera, Google Earth и Skype. Впервые Qt был опубликован в мае 1995 года.

    Qt5 подразумевает двойное лицензирование, а это означает, что Qt может быть использован в некоммерческих целях для создания приложений с открытым исходным кодом, а также как лицензия для коммерческих клиентов. За счет использования собственного фреймворка и мощного инструментария Qt позволяет быстро и удобно создавать собственные кроссплатформенные приложения. Кроме того, команды разработчиков получают возможность работать на разных платформах, используя при этом общие инструменты для разработки и отладки. Весь инструментарий Qt с открытым исходным кодом вы можете найти на сайте qt.io.

    Изначально Qt был разработан норвежской компанией по разработке программного обеспечения Trolltech. В 2008 году компанию приобрела Nokia. Спустя четыре года в августе 2012 программные технологии Qt выкупила финская компания-разработчик Digia. Сейчас Qt развивается компанией QT Company, которая является дочерней компанией Digia, и как проект Qt под открытым исходным кодом с участием отдельных разработчиков и фирм.

    Установка Qt Creator в Linux

    Шаг №1: Мы будем устанавливать IDE с открытым исходным кодом. Для этого переходим по ссылке и выбираем самую свежую версию (на момент написания данной статьи — это Qt 5.13):

    На этих уроках используется операционная система Linux (Debian 9.x 64-bit), поэтому мы скачиваем qt-opensourse-linux-x64-5.13.0.run , но вы также можете использовать соответствующие файлы Qt для Windows или macOS:

    После окончания загрузки переходим в папку с необходимым нам файлом, нажимаем на него правой кнопкой мыши и выбираем «Свойства» . На вкладке «Основные» видим «Имя» , «Тип» , «Размер файла» , а также наименование родительской папки:

    Переходим на вкладку «Права» и ставим галочку возле пункта «Разрешить выполнение файла как программы» :

    Закрываем «Свойства» и запускаем программу.

    Шаг №2: На следующем этапе установщик сообщает, что нам предоставлена версия с открытым исходным кодом Qt 5.13.0. Дальнейшая установка Qt предполагает регистрацию в Qt и создание Qt Account, который предоставляет доступ ко всем возможностям Qt. Кроме того, данное действие необходимо для проверки лицензии (коммерческая/некоммерческая). Если у вас уже есть учетная запись в Qt Account, то используйте кнопку «Next» .

    Если учетной записи в Qt Account у вас еще нет, то её можно создать сейчас: для этого перейдите по соответствующей ссылке в установщике, и вы будете перенаправлены на сайт qt.io в соответствующий раздел, или просто используйте кнопку «Next» — вы сможете это сделать на следующем шаге:

    Шаг №3: Здесь необходимо ввести логин и пароль от Qt Account или создать Qt Account, если его у вас еще нет. Кнопка «Next» переводит нас на следующий этап:

    Добро пожаловать в настройки Qt 5.13.0! Для перехода к следующему шагу нажимаем «Далее >» :

    Шаг №4: Выбираем каталог для установки Qt 5.13.0. Обратите внимание, адрес каталога указывается латинскими буквами (без кириллицы) и без пробелов! После того, как выбрали каталог, нажимаем «Далее >» :

    Шаг №5: Выбираем компоненты, которые хотим установить. Если на данном этапе у вас нет уверенности в выборе конкретных компонентов, то добавление и удаление можно будет сделать позже, после установки программы:

    Шаг №6: Принимаем лицензионное соглашение:

    И нажимаем на кнопку «Установить» :

    Для завершения установки нажимаем «Завершить» . После завершения установки Qt Creator запустится самостоятельно (для этого необходимо поставить галочку возле пункта «Launch Qt Creator» ):

    Вот примерно следующее вы должны увидеть при запуске Qt Creator:

    Поздравляем! Qt Creator установлен.

    Установка Qt Creator через командную строку в Linux

    Еще одним альтернативным и простым способом установки Qt Creator в Linux на основе Debian является установка из пакетов. Если при работе с Linux вы используете терминал, то перед скачиванием и установкой Qt Creator программа запросит пароль пользователя root (команда sudo без дополнительных опций). Только после этого начнется скачивание и извлечение файлов. Обычно, пакеты Linux не содержат последней версии Qt и их необходимо обновить. Ниже приведен алгоритм действий, позволяющий за 4 шага установить Qt Creator через терминал в Linux.

    Шаг №1: Обновление набора утилит для установки, удаления, обновления, поиска пакетов в Linux.

    $ sudo apt update

    Шаг №2: Скачивание и установка Qt.

    $ sudo apt install qt5-default

    Шаг №3: Установка Qt Creator.

    $ sudo apt install qtcreator

    Шаг №4: Установка тестовых программ.

    $ sudo apt install qtbase5-examples qtdeclarative5-examples

    Установка Qt Creator в Windows

    Сначала нам нужно скачать установочный пакет Qt. Вы можете это сделать, обратившись к оф. сайту qt.io. Либо же воспользоваться альтернативным вариантом и скачать с какого-нибудь «зеркала» (например, c этого, полный список всех «зеркал» находится здесь):

    Нажимаем на official_releases/ и переходим к online_installers/ :

    Нажимаем на online_installers/ и скачиваем файл qt-unified-windows-x86-online.exe :

    Запустив скачанный файл, видим перед собой приветствие «Qt Online Installer». Нажимаем «Next» :

    Далее у нас спросят о наличии Qt Account. Можно смело нажимать «Skip» и двигаться дальше:

    Затем снова «Далее» :

    Теперь нам нужно указать путь установки Qt. Для простоты я выбрал C:\Qt :

    На следующем шаге нам нужно выбрать набор компиляторов, которыми мы будем пользоваться на данных уроках. Я предлагаю ограничиться выбором пакета MinGW 7.3.0 32-bit , а остальные метки поставить так, как указано на скриншоте ниже:

    После того, как инсталлятор скачает и установит все необходимые компоненты, можно будет перейти к непосредственному написанию кода для нашего приложения.

    Создание проекта

    Вначале нам необходимо создать проект. Сразу скажу, что наша программа будет консольным приложением. Для этого выберите «Файл» > «Создать файл или проект…» или можно воспользоваться сочетанием клавиш Ctrl+N :

    Перед вами появится «Мастер настройки проектов». В левой колонке отметьте пункт «Приложение» , а затем в правой — «Консольное приложение Qt» :

    На следующем шаге нужно будет указать имя для нашей будущей программы и папку, где будут располагаться файлы проекта. У меня это My_QtApplication и C:\dev\Qt_Project соответственно:

    На следующем шаге без изменений, поэтому просто нажимаем кнопку «Далее» :

    Теперь нам нужно выбрать набор компиляторов, который мы будем использовать для сборки нашего проекта. Я настоятельно рекомендую выбрать Desktop Qt 5.13.0 MinGW 32-bit (сняв при этом отметки с остальных, если они у вас есть):

    На последнем шаге нажимаем «Завершить» :

    Теперь вы можете увидеть автоматически сгенерированный Qt-проект консольного приложения. Давайте рассмотрим его детально:

    Источник

    Читайте также:  Сервер времени windows 7 как настроить
  • Оцените статью