Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Установка QT под Windows и правильные Helloworld’ы
QT — ещё один мегаглючный популярный инструмент для разработки на C++. Во всяком случае, если Вы заглянете в тематический раздел Киберфорума, Вы увидите, что вместе с Visual C++ (Studio) и Builder именно Qt образует «большую тройку» современных сред разработки для C++. К тому же, сторонники Qt говорят, что только он изначально соблюдает концепцию ООП и весь из себя кроссплатформенный Мдя, ну и бесплатный open source, конечно.
Как нам поставить и настроить это чудо под обычную 32- (64-) разрядную Windows?
Смотрим официальный сайт, не ленимся нажать Show downloads.
Онлайн-сборки инсталлятора могут называться вроде
qt-opensource-windows-x86-1.5.0-2-online.exe
Увы, они будут докачивать порядка 800 Мб при установке и, по статистике, чаще становятся криво.
Офлайн-сборки (нажать Show Downloads на странице загрузок) могут называться, например
qt-opensource-windows-x86-mingw48_opengl-5.2.1.exe qt-windows-opensource-5.0.1-mingw47_32-x86-offline.exe
Это значит что они — с собственным компилятором MinGW и под 32-разрядную Windows.
Есть еще сборки, предназначенные для работы с компилятором Visual Studio, тогда в имени сборки есть «studio». Не советую их, даже если установлен полный Visual Studio.
Скачать, установить. Актуальная версия 5.2.1 включает в себя IDE под названием Qt Creator, ставшее более-менее полноценным, во всяком случае, после пары ухищрений заработала отладка.
Запускаем установщик, по умолчанию будет предложен путь установки C:\Qt\Qt5.2.1
, не стоит его менять. Включаем компоненты Qt, MinGW, Qt Creator, Sources — необязательно.
Возможные проблемы при запуске QT Creator:
1. Ошибки при запуске (отсутствует libstdc++-6.dll и т.п.)
В чём дело: в переменных окружения не определена библиотека Qt и не прописан путь к компилятору. Исправляем ситуацию – создаем в переменных среды переменную QTDIR
, содержащую значение
C:\Qt\Qt5.2.1\5.2.1\mingw48_32
Кроме того, в системную переменную Path
через точку с запятой прописываем пути
C:\Qt\Qt5.2.1\5.2.1\mingw48_32\bin C:\Qt\Qt5.2.1\Tools\mingw48_32\bin
Как это сделать:
Windows XP: Мой компьютер, Свойства, Дополнительно, Переменные среды, Path, Изменить
Windows 7: Мой компьютер, Свойства, Дополнительные параметры системы, Переменные среды, Системные переменные, Path, Изменить
Это необходимо сделать также для того, чтобы собранные Вами приложения могли запускаться из проводника Windows или другого файл-менеджера.
2. Запускается, но присутствуют сообщения об ошибках (например, «Точка входа в процедуру __gxx_personality_v0 не найдена в библиотеке libstdc++-6.dll«).
В чём дело: кривые сборки Qt Creator. Собирайте компилятор MinGW вручную (в инете об этом есть) или поставьте QT Creator 3.0.1, основанный на сборке Qt 5.2.1 (файл qt-opensource-windows-x86-mingw48_opengl-5.2.1.exe
), в нём такого бага не наблюдалось.
3. На работает отладка и т.п. Не исключено, что по умолчанию вообще работает только подсветка кода
В чём дело: кривизна-с. В меню Инструменты, Параметры, на вкладке Сборка и запуск, Профили Qt проверяем, что имеется автоопределённая связка Qt 5.2.1 + MinGW 32bit, это добавляет Qt Creator. На вкладке Сборка и запуск, Комплекты (в немного более ранних сборках — Инструментарии) должна быть автоопределенная связка инструментов Desktop Qt 5.2.1 MinGW 32bit, эту связку также добавляет Qt Creator, но в ней может быть указан неправильный отладчик, а редактированию она не поддается. У меня помогло просто создание новой связки с помощью кнопки Добавить, ей присваиваем какое-либо другое имя, например, Desktop QT 5.2.1 MinGW Patched, нажимаем кнопку Сделать по умолчанию. В нижней части окна для новой связки необходимо выбрать такие же параметры как и для автоопределенной (Desktop, Локальный ПК (по умолчанию для Desktop), MinGW (x86 32bit) — если желаете, можно и через Visual Studio компилировать, будет ещё медленнее), но указать другой отладчик, воспользовавшись кнопкой Управление, Добавить, Обзор… В открывшемся окне указываем путь к отладчику вида C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\gdb.exe
и нажимаем Применить.
4. Что ещё проверить и настроить перед созданием первого проекта.
Запускаем Qt Creator, выбираем пункт главного меню Инструменты, Параметры… на вкладке Текстовый редактор, Шрифт и цвета устанавливаем понравившийся шрифт (Courier New или другой моноширинный шрифт для листингов — рулит), на вкладке Текстовый редактор, Поведение выбираем кодировку файлов, по умолчанию Юникод (UTF-8). На вкладке Сборка и запуск, Основное указываем папку проектов, например, C:\Qt\Projects
(эту папку надо предварительно создать; в пути к ней, как и к другим папкам Qt
, не должно быть символов кириллицы и/или пробелов; имя пользователя в системе — тоже латиницей).
Теперь два главных действия должно быть легко выполнить:
- меню Отладка, Начать отладку, Начать отладку или клавиша
F5
- меню Сборка, Запустить или комбинация клавиш
Ctrl+R
Можно попробовать. Сначала консольное приложение: меню Файл, Новый файл или проект, Приложения, Консольное приложение Qt. Только встроенный код ничего не делает, а в инете и книгах обычно неработающие «Hello, world». Напишем работающий main.cpp
#include <QtCore/QCoreApplication> #include <iostream> #include <stdio.h> using namespace std; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); printf("Hello World\n"); return a.exec(); }
Теперь попробуем «приложение с интерфейсом»: меню Файл, Новый файл или проект, создать приложение QT Widgets. Текст модуля main.cpp
:
#include "mainwindow.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; QString Title = QString("Hello, world!"); w.setWindowTitle(Title); //или w.setWindowTitle("Hello, world!"); w.show(); return a.exec(); }
Жмём Файл, Закрыть все документы и проекты — и вернёмся к начальному окну, готовые к новым подвигам
P.S. Ну и проблема ещё в том, что в инете и книгах большинство примеров — по QT4, а в QT5 есть заметные отличия, самое очевидное —
#include <QtWidgets>
вместо
#include <QtGui>
Подробнее здесь. А вот тут — много примеров с исходниками именно по QT5.
Ниже можно скачать оффлайн-сборку QT 5.2.1 с QT Creator и компилятором MinGW. При полной установке она обеспечивает нормальную работу приложения и не лезет в инет за дополнительными компонентами.
Скачать оффлайн-сборку QT 5.2.1 с QT Creator и компилятором MinGW в файле .exe, 634 Мб
Как слинковать приложение QT статически для работы на другом компьютере? DLL Collector
Как сделать Windows-инсталлятор для приложения на QT? InnoSetup
18.04.2014, 18:38 [70119 просмотров]
En
Ar
Bg
De
El
Es
Fa
Fi
Fr
Hi
Hu
It
Ja
Kn
Ko
Ms
Nl
Pl
Pt
Ru
Sq
Th
Tr
Uk
Zh
This chapter will describe some steps to build Qt using a windows host and the MinGW Toolchain. Since there is a 32bit and a 64bit MinGW that can be used to build your Desktop Qt you have to decide if you wanted to build Qt Libraries targetting a x86 (32bit) or a x64 (64bit) machine. Besides there is a possibility to cross build Qt on a 64bit host for a 32bit target and vice versa.
Please look through the prerequisites before you start your work in order to make a definite step building your own Qt. Remark, this guidance here is only for your information. Any hints and comments you can read here are provided to help you to make your own steps with opensource software. There are many more possibilities to do the work. The below build process is only tested with Qt 4.7.4 on a windows 7 x64 host.
Even so this guide has been created some time ago it is still applicable for Qt4. Only a few adaptations are required concerning the references to MinGW compilers. This has been tested on 64 bit windows 7 system for Qt 4.8.4 source building Qt for 64 bit targets. MinGW version was 4.7.2.
Additional questions may be posted here.
Do I need to build Qt?
Perhaps not. The official Qt SDK installer will work just fine. Follow these steps only if you want to learn how to make a cutom build or if you aim a x64 target.
Required Toolchains
To build Qt on your own windows desktop pc there is no wizzard needed. The main thing you want check is to choose the right toolsets that are able to build Qt from bottom up. Since there are many packages to find on the web you have to manage what package is chosen with caution.
The following list will give an overview on the packages you need for your personal build of Qt opensource.
- The Qt Opensource Source Package with all the sourcecode
- a MinGW toolchain
- or a MinGW64 toolchain
- a Perl installation
- a tool to replace text in the makefiles (for the install step only)
- a mingw32-make replacement to use all the cpu cores for building
- an application to unzip the tarfiles like 7zip.
To work with the newly created Qt you need also:
- QtCreator 2.5 (or similiar, build process will be provided as well later)
Prerequisites
Although the build processes are very similar, please note that the cmd.exe shell build environment is slightly different for the PATH variable to find the right compiler toolchain. However, these tools are needed for both the build processes, 32 and 64bit:
- Qt source code from here
- Active Perl from here. You need ActivePerl-5.14.2.1402-MSWin32-x64-295342.msi». Any other perl might work too, this is the tested version.
- jom.exe prebuilt from here.
- fart.exe prebuilt from here. You need «fart199b_win32.zip».
Build Qt with MinGW for a x86 target
This chapter describes on how to build the Qt opensource for a 32bit windows target.
Required toolchain
- MinGW from the Qt SDK, this is shipped i.e. with the SDK Installer. The toolchain itself runs on 32bit and 64bit windows.
- The SDK sourcecode used for this tutorial is Qt 4.7.4 (qt-everywhere-opensource-src-4.7.4.zip) and can be found here.
Filesystem setup
Prepare your filesystem for your own build process. There is a batchfile that can build everything automatically. As soon as there will be a place to download you will be noted.
Prepare a tree that contains the tools and the source trees (replace the c:with whatever drive you need). It is recommended not to expand your computers path environment with the tools. Everything will take place in a single cmd.exe windows shell that has a path that fits your needs.
For filesystem setup open windows explorer and create the following folders:
- set the root to c:–4.7.4 copy the mingw contents of the sdk into c:–4.7.4\mingw32_x86
- unzip the contents of the qt tar into c:–4.7.4\qt-everywhere-opensource-src-4.7.4
- install or copy Perl into c:–4.7.4\tools\Perl
- copy jom.exe into c:–4.7.4\tools\jom
- copy fart.exe into c:–4.7.4\tools\fart
- create a build directory for Qt under c:–4.7.4\4.7.4-qt-x86-build
- step into this build directory and create a file «configure.cache» with the following content (you may want to change for your needs):
-platform win32-g++ -opensource -debug -debug-and-release -no-phonon -fast -nomake examples -nomake demos -no-dsp -no-vcproj -no-cetest -no-s60 -qt-sql-odbc -qt-sql-sqlite -plugin-sql-odbc -plugin-sql-sqlite -no-qt3support -no-opengl -no-openvg -no-incredibuild-xge
Configure your build tree
- If you are using MinGW (32bit) toolchain : Open a cmd.exe windows shell, cd into c:–4.7.4\4.7.4-qt-x86-build and type:
set PATH=C:–4.7.4\mingw32_x86\bin;C:–4.7.4\tools\Perl64\bin;C:–4.7.4\tools\jom;C:–4.7.4\tools\fart; set PATH=PATH;c:32; set LANG=en c:–4.7.4\qt-everywhere-opensource-src-4.7.4\configure.exe -redo
- If you are using MinGW-w64 (32bit) toolchain:
- and, if you want to use Cmd-shell (cmd.exe windows shell), then cd into c:5_windows_32bit and type:
set PATH=C:-w64 \32bit\bin;C:-perl\64bit\perl\bin;C:_tools\jom;C:_tools\fart; set PATH=PATH;C:32; set LANG=en C:–4.7.4\qt-everywhere-opensource-src-4.7.4\configure.exe -redo
- and, if you want to use MSYS2-shell, for 64bit (and 32bit) support based development, then follow this wiki page: MinGW-64-bit
After accepting the opensource license the configure command will then prepare qmake and the makefiles needed for the buildprocess.
Build Qt
Instead of mingw32-make we use jom. It is capable of distributing the work over a bunch of cpus being engaged by a Windows operating system. Type:
or other commandline parameters if they fit better for you. After that the build process of Qt starts and you want to have a coffee or two.
jom should finish with some warnings but without any error and you will have a pretty new build of the Qt Desktop library. Keep the shell open to make the next steps.
Installing the libraries.
Installing the newly built libs is not straightforward because there is no «make install» way for the MinGW host. To install the Qt libraries and the tools of it there is some work to be done before.
All the makefiles have «install» rules that install exactly to the folder that was used to build the whole library in. So installing into that folder doesn’t make very much sense. All of the objectfiles still remain, and if you don’t want to rebuild everything in the near future it is just a waste of diskspace. Installing for MinGW needs these install rules to be changed a bit.
For that purpose you copied the fart.exe tool to the tools folder. fart.exe can be used like sed to find and replace text in textfiles. In the already open cmd.exe shell where you built the libs in you want to type the following:
fart -c -i -r Makefile* $(INSTALL_ROOT)–4.7.4\4.7.4-qt-x86-build $(INSTALL_ROOT)–4.7.4\4.7.4-qt-x86 set INSTALL_ROOT=
Please note that after INSTALL_ROOT= must not be any character, not even a blank.
This command will change
$(INSTALL_ROOT)–4.7.4\4.7.4-qt-x86-build
into
$(INSTALL_ROOT)–4.7.4\4.7.4-qt-x86
in every makefile and will set the shell variable to an empty string. Someone also could remove the variable at all, but that’s on your decision.
After this jom can make the installation into c:–4.7.4\4.7.4-qt-x86:
Since it is late now, someone probably wants to have a beer or two and wait for the installation to complete. After this there are some steps to do manually:
copy C:–4.7.4\mingw32_x86\bin\mingwm10.dll C:–4.7.4\4.7.4-qt-x86\bin copy C:–4.7.4\mingw32_x86\bin\libgcc_s_dw2-1.dll C:–4.7.4\4.7.4-qt-x86\bin
Create a config file that tells qmake about its new installation path. Create a textfile C:–4.7.4\4.7.4-qt-x86\bin\qt.conf:
[Paths] Prefix=C:/qt-4.7.4/4.7.4-qt-x86 Translations = translations
For now there is a dazzling new installation of your personal Qt build that can be found on your harddisk under C:–4.7.4\4.7.4-qt-x86. Go ahead and delete the build directory if you don’t need it any more. If you want to be able to debug into the Qt sourcecode you might want to keep the sourcetree alive.
Build Qt with MinGW for a x64 (x86_64) target
This chapter describes on how to build the Qt opensource for a 64bit windows target.
Required toolchain
- Information about the MinGW-w64 can be found on the wiki on MinGW and in this wiki page MinGW-64-bit. The recommended download site of MinGW-builds provides the different flavors of the compiler. Developers of MinGW-builds have moved onto its newer successor project, MSYS2, a complete opensource development solution/system, based on MinGW-w64 compilers/toolchains and MSYS. The MinGW-builds project is still supported.
Filesystem setup
Prepare your filesystem for your own build process. There is a batchfile that can build everything automatically. As soon as there will be a place to download you will be noted.
Prepare a tree that contains the tools and the source trees (replace the c:with whatever drive you need). It is recommended not to expand your computers path environment with the tools. Everything will take place in a single cmd.exe windows shell that has a path that fits your needs.
For filesystem setup open windows explorer and create the following folders:
- set the root to c:–4.7.4 copy the mingw contents of the zip into c:–4.7.4\mingw64_x64
- unzip the contents of the qt tar into c:–4.7.4\qt-everywhere-opensource-src-4.7.4
- install or copy Perl into c:–4.7.4\tools\Perl
- copy jom.exe into c:–4.7.4\tools\jom
- copy fart.exe into c:–4.7.4\tools\fart
- create a build directory for Qt under c:–4.7.4\4.7.4-qt-x64-build
- step into this build directory and create a file «configure.cache» with the following content (you may want to change for your needs):
-platform win32-g++ -opensource -debug -debug-and-release -no-phonon -fast -nomake examples -nomake demos -no-dsp -no-vcproj -no-cetest -no-s60 -qt-sql-odbc -qt-sql-sqlite -plugin-sql-odbc -plugin-sql-SQLite -no-qt3support -no-opengl -no-openvg -no-incredibuild-xge
Do not be irritated when looking at the win32-g++ makespec. This makespec is also capable of building 64bit Qt. The PATH shell variable does currently only contain the path to MinGW64. So there will be no confusion about the compilers:
Configure your build tree
- Open a cmd.exe windows shell (Cmd-shell), cd into c:–4.7.4\4.7.4-qt-x64-build and type:
set PATH=C:–4.7.4\mingw64_x64\bin;C:–4.7.4\tools\Perl64\bin;C:–4.7.4\tools\jom;C:–4.7.4\tools\fart; set PATH=PATH;c:32; set LANG=en c:–4.7.4\qt-everywhere-opensource-src-4.7.4\configure.exe -redo
- If you are using MinGW-w64 (64bit) toolchain:
- and, if you want to use Cmd-shell (cmd.exe windows shell), then cd into c:5_windows_64bit and type:
set PATH=C:-w64\64bit\bin;C:-perl\64bit\perl\bin;C:_tools\jom;C:_tools\fart; set PATH=PATH;C:32; set LANG=en C:–4.7.4\qt-everywhere-opensource-src-4.7.4\configure.exe -redo
- and, if you want to use MSYS2-shell, for 64bit (and 32bit) support based development, then follow this wiki page: MinGW-64-bit
After accepting the opensource license the configure command will then prepare qmake and the makefiles needed for the buildprocess.
Build Qt
Instead of mingw32-make we use jom. It is capable of distributing the work over a bunch of cpus being engaged by a Windows operating system. Type:
or other commandline parameters if they fit better for you. After that the build process of Qt starts and you want to have a coffee or two.
jom should finish with some warnings but without any error and you will have a pretty new build of the Qt Desktop library. Keep the shell open to make the next steps.
Installing the libraries.
Installing the newly built libs is not straightforward because there is no «make install» way for the MinGW host. To install the Qt libraries and the tools of it there is some work to be done before.
All the makefiles have «install» rules that install exactly to the folder that was used to build the whole library in. So installing into that folder doesn’t make very much sense. All of the objectfiles still remain, and if you don’t want to rebuild everything in the near future it is just a waste of diskspace. Installing for MinGW needs these install rules to be changed a bit.
For that purpose you copied the fart.exe tool to the tools folder. fart.exe can be used like sed to find and replace text in textfiles. In the already open cmd.exe shell where you built the libs in you want to type the following:
fart -c -i -r Makefile* $(INSTALL_ROOT)–4.7.4\4.7.4-qt-x64-build $(INSTALL_ROOT)–4.7.4\4.7.4-qt-x64 set INSTALL_ROOT=
Please note that after INSTALL_ROOT= must not be any character, not even a blank.
This command will change
$(INSTALL_ROOT)–4.7.4\4.7.4-qt-x64-build
into
$(INSTALL_ROOT)–4.7.4\4.7.4-qt-x64
in every makefile and will set the shell variable to an empty string. Someone also could remove the variable at all, but that’s on your decision.
After this jom can make the installation into c:–4.7.4\4.7.4-qt-x64:
Since it is late now, someone probably wants to have a beer or two and wait for the installation to complete. After this there are some steps to do manually:
copy C:–4.7.4\mingw64_x64\bin\libgcc_s_sjlj-1.dll C:–4.7.4\4.7.4-qt-x64\bin
The dual-target MinGW compiler adds an additional required dll to be copied. Following this guide step by step starting qmake will bring up an error message about missing libwinpthread-1.dll.
copy C:–4.7.4\mingw64_x64\bin\libwinpthread-1.dll C:–4.7.4\4.7.4-qt-x64\bin
Create a config file that tells qmake about its new installation path. Create a textfile C:–4.7.4\4.7.4-qt-x64\bin\qt.conf:
[Paths] Prefix=C:/qt-4.7.4/4.7.4-qt-x64 Translations = translations
For now there is a dazzling new installation of your personal Qt build that can be found on your harddisk under C:–4.7.4\4.7.4-qt-x64. Go ahead and delete the build directory if you don’t need it any more. If you want to be able to debug into the Qt sourcecode you might want to keep the sourcetree alive.
Building a cross Qt for x86 host and x64 target
Coming soon… You may visit this wiki page: MinGW-64-bit
Links and references
- http://code.google.com/p/qt-msvc-installer/wiki/RelocationTricks
- http://stackoverflow.com/questions/4699311/how-to-install-qt-on-windows-after-building
- http://www.mixxx.org/wiki/doku.php/compiling_on_windows
- http://en.wikipedia.org/wiki/Batch_file
- http://wiki.qt.io/Building_Qt_Documentation
- http://pinyotae.blogspot.de/2010/11/building-64-bit-qt-47-using-mingw-w64.html
- http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.4.tar.gz
- http://qt.io/faq/answer/how_can_i_set_up_my_environment_for_building_qt_qt_applications_with_mingw
Шаг 1. Скачиваем дистрибутив.
Зайдем на официальный сайт Qt в раздел Скачать и увидим две секции: онлайн-инсталляторы Qt и офлайн-инсталляторы. При попытке установки Qt для Windows онлайн у меня возникала ошибка загрузки, поэтому перейдем к офлайн-секции. Выберем Qt 5.5.1 for Windows 32-bit (MinGW 4.9.2, 852 MB), то есть сборку на основе компилятора MinGW.
Возможно, вам более удобен компилятор MSVC 2013, например. Для него установка аналогична, только требует Visual Studio 2013. О возможных проблем с VS, связанных с корректной работой в Qt Creator, читайте далее.
Шаг 2. Установка
Запустим qt-opensource-windows-x86-mingw492-5.5.1.exe. Это может занять полминуты. На приветствие ответим нажатием кнопки Далее.
На предложение создать аккаунт или залогиниться можно ответить отказом, то есть выбрать Пропустить (Skip). Когда я пробовал установить Qt через онлайн-инсталлятор, то на всякий случай создал аккаунт. Не помогло.
Укажем директорию для установки
Выбор компонентов установки оставим по умолчанию
Далее согласимся с лицензионным соглашением, укажем новый пункт в главном меню Windows и приступим к установке.
Шаг 3. Проверка работоспособности Qt Creator.
Запустим Qt Creator. Для этого можно в главном меню в пункте “Все программы” найти Qt 5.5.1 и выбрать Qt Creator (Community). В появившемся окне выберем Новый проект и далее Приложение Qt Widgets
Затем укажем название проекта и директорию
В выборе комплекта оставим все по умолчанию
Информацию о классе оставим без изменений
И в последнем шаге “Управление проектом” оставим значения по умолчанию, то есть сразу выбираем “Завершить”.
Далее в Редакторе выберем файл mainwindow.ui в разделе Формы
И перетащим на появившуюся форму компонент Push Button
Далее кликнем правой клавишей мыши на появившуюся кнопку и выберем из меню пункт “Перейти к слоту…” и выберем clicked().
В появившемся окне добавим код ui->pushButton->setText(“Тест кодировки”); Запустим компилятор (Ctrl+R или зеленый треугольник в левом вертикальном меню, третий снизу). Лучший результат: появится форма с кнопкой PushButton, после клика на которую ее имя изменится на “Тест кодировки”. Если же вы увидите какие-то непонятные символы, то смотрите Шаг 4.
Далее перейдем в Редактор в файл mainwindow.cpp и в строке ui->pushButton->setText(“Тест кодировки”); удалим, например, букву s. Запустим компилятор еще раз. В разделе Проблемы должны увидеть следующее сообщение:
Если вместо такого текста вы видите что-то непонятное, то смотрите Шаг 4.
Шаг 4. Устранение проблем
а) проблема LNK1123: сбой при преобразовании в COFF: файл недопустим или поврежден
В файле .pro добавить строку QMAKE_LFLAGS += /INCREMENTAL:NO и после этого обязательно удалить папку build_…
Можно еще поставить сервис-пак на Visual Studio.
б) проблемы с кодировкой на форме
Выберем в верхнем меню Инструменты -> Параметры и проверим, чтобы в Текстовом редакторе на вкладке Поведение была указана кодировка файлов utf-8.
Если проблема осталась, то можно попробовать такие варианты:
QString::fromLocal8Bit(«Тест кодировки»); |
или
QTextCodec langcodec=QTextCodec::codecForName(«CP1251»); QTextCodec::setCodecForTr(langcodec); QObject::tr(«Тест кодировки») |
или
в) проблема с кодировкой в “Проблемы”
Ищите решение, связанное с модифицированным jom.exe
г) другие проблемы
Выберем в верхнем меню Инструменты -> Параметры и проверим, чтобы в “Сборка и запуск” на вкладках Отладчики, Компиляторы и Комплекты не было ошибок. Кстати, некоторые работают и без отладчика, то есть предупреждения на этой вкладке можно игнорировать.
все материалы по Qt
Последнее обновление: 07.12.2023
Для программирования с помощью фреймворка Qt нам естественно надо установить сам фреймворк Qt. И также установим среду разработки QtCreator. Устанавливать QtCreator в принципе необязательно,
можно обоитись и без среды разработки. Однако данная среда несколько упрощает создание приложений под Qt, что может быть особенно актуально для начинающих.
Сразу стоит сказать о предварительных требованиях. Прежде всего в операционной системе должен быть установлен компилятор C++. Например, на Windows это может быть
компилятор C++, который поставляется с Visual Studio (установить можно через установщик Visual Studio). В качестве альтернативы
можно взять компилятор GCC, например, в виде реализации от MSYS2. На MacOS следует установить XCode, а на Linux лучше доустановить компилятор Clang.
Поскольку для сборки проекта может потребоваться CMake, то также рекомендуется также установить данную утилиту. Это можно сделать, загрузив установочный пакет с официального сайта
https://cmake.org/download/ (доступны установщики для всех распространенных операционных систем). Либо это можно сделать через пакетный менеджер.
Для установки Qt и Qt Creator можно использовать разные способы: использование одного из менеджеров пакетов, установка вручную, установка с помощью инсталлятора. Вкратце рассмотрим все эти возможности.
Установка через пакетный менеджер
Самый простой способ установки Qt представляет использование пакетных менеджеров. Многие операционные системы поддерживают различные пакетные менеджеры, которые могут
предоставлять специальные пакеты Qt и Qt Creator. Данный способ прост — надо всего лишь ввести в
консоли несколько команд. Однако минусом данного способа является то, что часто пакеты в репозиториях пакетных менеджеров не самые актуальные и немного отстают от официального релиза. Кроме того,
подобные пакеты могут иметь зависимости от других пакетов, которые также потребуется установить. Третий минус — часто подобные пакеты собираются третьими лицами, а не самой компанией Qt.
Установка на MacOS
Предварительным условием работы на MacOS является установка XCode. Для установки Qt и Qt Creator на MacOS применяется пакетный менеджер Homebrew. Так, для установки Qt6 надо выполнить в консоли команду
brew install qt
Для сборки приложения может использоваться CMake, поэтому также следует установить соответстветствующий пакет:
brew install cmake
А для установки Qt Creator применяется команда
brew install --cask qt-creator
Стоит отметить, что в реальности эта команда скачивает программу с адреса «https://download.qt.io/official_releases/qtcreator/12.0/12.0.0/», соответственно, если доступа к адресу нет, то
соответственно, не удастся загрузить и саму программу. На этот счет чуть ниже в статье приведен список альтернативных зеркал для загрузки.
Установка на Linux на примере Ubuntu
Для установки Qt на Ubuntu/Debian применяется следующая команда
sudo apt install qt6-base-dev
А для установки Qt Creator применяется команда
sudo apt install qtcreator
Для запуска применяется команда qtcreator
Также надо установить пакет CMake, который может пригодится при построении проекта
sudo apt install cmake
и пакет Clang
sudo apt install clang
Установка на Windows
На Windows можно использовать один из пакетных менеджеров.
-
vcpkg
Например, установка Qt6 через менеджер vcpkg:
vcpkg install qt
Установка только базового пакета
vcpkg install qtbase
-
MSYS2/Packman
Установка Qt через MSYS с помощью пакетного менеджера packman:
pacman -S mingw-w64-x86_64-qt6
Только базовый пакет
pacman -S mingw-w64-x86_64-qt6-base
Установка Qt Creator
pacman -S mingw-w64-x86_64-qt-creator
-
chocolatey
Установка Qt6 с Qt Creator через менеджер chocolatey:
choco install -y qt6-base-dev cmake qtcreator
-
winget
Установка Qt6 через менеджер winget:
winget install --id=miurahr.aqtinstall -e
Установка через Qt Online Installer
Универсальный и рекомендуемый способ установки Qt и Qt Creator представляет использование онлайн-загрузчика. Официальный сайт предоставляет свои установщики для
распространенных операционных систем. Главным минусом данного способа является то, что при загрузке могут быть ограничения по географическому признаку, и кроме того, надо иметь учетную запись на официальном сайте QT. Если такой учетной записи не имеется, то для регистрации аккаунта
можно перейти на страницу https://login.qt.io/register
После регистрации загрузим программу установки. Для этого перейдем на страницу
https://www.qt.io/download-qt-installer. При переходе на страницу автоматически начнется загрузка
установщика. Сайт автоматически определяет текущую операционную систему и отдает установщик, соответствующей этой системе.
После загрузки запустим программу установки (если операционная система Windows, то лучше запустить от имени администратора):
Вначале программа установки предложит осуществить вход с логином и паролем от учетной записи QT, которая выше была зарегистрирована.
И в поля ввода введем логин-электронный адрес и пароль и нажмем на кнопку «Далее».
Затем на следующем шаге отметим пару флажков и нажмем на кнопку «Далее»:
На следующем шаге снова нажмем на кнопку «Далее»:
Затем нам будет предложено выбрать, надо ли отправлять отчет :
Далее надо будет указать каталог для установки (можно оставить каталог по умолчанию), а также тип установки:
В качестве типа установки можно указать «Выборочная установка», тогда на следующем шаге необходимо будет указать устанавливаемые компоненты:
В данном случае выберем последнюю на данный момент версию Qt (которая не является Preview). В моем случае это версия Qt 6.6.1.
В зависимости от текущей операционной системы набор компонентов может отличаться. Но если программа устанавливается на Windows,
то у нас есть два варианта для компилятора С/С++ — MSVC (MSVC 2019 64-bit) и MinGW (MinGW 11.2.0. 64-bit). Можно оставить только один из них, можно выбрать оба. Но один из них обязательно
надо включить, если вы собираетесь создавать приложения под 64-разрядную Windows. Но следует отметить, что в операционной системе должен быть установлен соответствующий компилятор C++.
Так, при выборе опции MSVC 2019 64-bit должен быть установлен компилятор C++ с Visual Studio, а при выборе опции MinGW 11.2.0. 64-bit — компилятор GCC/MinGW (например,
от MSYS2). Остальные компоненты можно устанавливать при необходимости.
При установки следует учитывать свободное место на жестком диске, так как некоторые компоненты занимают довольно многом места.
Затем надо принять лицензионное соглашение CMake и настроить ярлык для меню Пуск. И далее нажмем на кнопку «Установить»:
Загрузка офлайн-сборок с официального сайта
Также фреймворк Qt и все сопровождающие файлы можно загрузить с официального сайта с репозитория https://download.qt.io/online/qtsdkrepository/.
В частности, для версии Qt 6.6.1 пакеты для создания десктопного приложения под Windows, которые используют компилятор C++ из Visual Studio, доступны по адресу
https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/
в виде пакетов с названиями
6.6.1-0-202311210527qttranslations-Windows-Windows_10_22H2-MSVC2019-Windows-Windows_10_22H2-X86_64.7z 6.6.1-0-202311210527qttools-Windows-Windows_10_22H2-MSVC2019-Windows-Windows_10_22H2-X86_64.7z 6.6.1-0-202311210527qtsvg-Windows-Windows_10_22H2-MSVC2019-Windows-Windows_10_22H2-X86_64.7z 6.6.1-0-202311210527qtdeclarative-Windows-Windows_10_22H2-MSVC2019-Windows-Windows_10_22H2-X86_64.7z 6.6.1-0-202311210527qtbase-Windows-Windows_10_22H2-MSVC2019-Windows-Windows_10_22H2-X86_64.7z
Эти архивы помещаем в один каталог, например, c:\qt, и распаковывываем по одному и тому же пути.
В итоге содержимое архивов объединяется и располагается в одних и тех же папках. Затем данное расположение цепляется в Qt Creator при создании проектов.
Если домен «https://download.qt.io» в силу различных причин недоступен, то те же пакеты можно найти по следующим официальным зеркалам:
Список зеркал
https://qt.mirror.constant.com/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (us, prio 100) https://mirrors.ukfast.co.uk/sites/qt.io/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (gb, prio 100) https://mirrors.20i.com/pub/qt.io/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (gb, prio 100) https://ftp.nluug.nl/languages/qt/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (nl, prio 100) https://mirror.netcologne.de/qtproject/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (de, prio 100) https://qt-mirror.dannhauer.de/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (de, prio 100) https://mirror.web4africa.ng/qt/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (ng, prio 100) https://ftp.fau.de/qtproject/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (de, prio 100) https://mirrors.dotsrc.org/qtproject/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (dk, prio 100) https://ftp.icm.edu.pl/packages/qt/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (pl, prio 100) https://ftp.acc.umu.se/mirror/qt.io/qtproject/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (se, prio 100) https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (fi, prio 100) https://qtproject.mirror.liquidtelecom.com/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (ke, prio 100) https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (cn, prio 100) https://mirrors.sau.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (cn, prio 100) https://mirror.bjtu.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (cn, prio 100) https://mirrors.ustc.edu.cn/qtproject/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (cn, prio 100) https://mirrors.sjtug.sjtu.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (cn, prio 100) https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_msvc2019_64/ (jp, prio 100)
Аналогично в папке https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt6_661/qt.qt6.661.win64_mingw/ можно найти те же пакеты Qt для Windows,
но которые вместо компилятор C++ из Visual Studio используют MinGW. Несколькими уровнями выше в «https://download.qt.io/online/qtsdkrepository» можно найти пакеты для других платформ.
Там же можно загрузить с официального сайта и Qt Creator. В частности, на момент написания текущей статьи последняя версия Qt Creator 12 доступна по следующему адресу
https://download.qt.io/official_releases/qtcreator/12.0/12.0.0/. По этой ссылки доступны официальные сборки
для Windows, MacOS, Linux и ряд других пакетов. Также доступны зеркала для скачивания Qt Creator:
Список зеркал
https://qt.mirror.constant.com/official_releases/qtcreator/12.0/12.0.0/ (us, prio 100) https://mirrors.ukfast.co.uk/sites/qt.io/official_releases/qtcreator/12.0/12.0.0/ (gb, prio 100) https://mirrors.20i.com/pub/qt.io/official_releases/qtcreator/12.0/12.0.0/ (gb, prio 100) https://www.mirrorservice.org/sites/download.qt-project.org/official_releases/qtcreator/12.0/12.0.0/ (gb, prio 100) https://ftp.nluug.nl/languages/qt/official_releases/qtcreator/12.0/12.0.0/ (nl, prio 100) https://mirror.netcologne.de/qtproject/official_releases/qtcreator/12.0/12.0.0/ (de, prio 100) https://qt-mirror.dannhauer.de/official_releases/qtcreator/12.0/12.0.0/ (de, prio 100) https://mirror.web4africa.ng/qt/official_releases/qtcreator/12.0/12.0.0/ (ng, prio 100) https://ftp.fau.de/qtproject/official_releases/qtcreator/12.0/12.0.0/ (de, prio 100) https://mirrors.dotsrc.org/qtproject/official_releases/qtcreator/12.0/12.0.0/ (dk, prio 100) https://ftp.icm.edu.pl/packages/qt/official_releases/qtcreator/12.0/12.0.0/ (pl, prio 100) https://ftp.acc.umu.se/mirror/qt.io/qtproject/official_releases/qtcreator/12.0/12.0.0/ (se, prio 100) https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/official_releases/qtcreator/12.0/12.0.0/ (fi, prio 100) https://qtproject.mirror.liquidtelecom.com/official_releases/qtcreator/12.0/12.0.0/ (ke, prio 100) https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/qtcreator/12.0/12.0.0/ (cn, prio 100) https://mirrors.sau.edu.cn/qt/official_releases/qtcreator/12.0/12.0.0/ (cn, prio 100) https://mirror.bjtu.edu.cn/qt/official_releases/qtcreator/12.0/12.0.0/ (cn, prio 100) https://mirrors.ustc.edu.cn/qtproject/official_releases/qtcreator/12.0/12.0.0/ (cn, prio 100) https://mirrors.sjtug.sjtu.edu.cn/qt/official_releases/qtcreator/12.0/12.0.0/ (cn, prio 100) https://ftp.jaist.ac.jp/pub/qtproject/official_releases/qtcreator/12.0/12.0.0/ (jp, prio 100) https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/official_releases/qtcreator/12.0/12.0.0/ (jp, prio 100)
При установке QtCreator программа установки также может потребовать учетную запись, но в принципе она необязательно — можно просто временно отключить интернет-подключение и перезапустить программу установки, так как установка Qt Creator не требует наличия подключения.
Также стоит отметить, что на официальном репозитории на гитхабе формируются бинарные файлы Qt Creator для основных операционных систем — https://github.com/qt-creator/qt-creator/releases/.