Qt everywhere для windows

Qt everywhere для windows

БлогNot. Установка QT под Windows и правильные Helloworld’ы 🙂

Установка QT под Windows и правильные Helloworld’ы 🙂

QT — ещё один мегаглючный популярный инструмент для разработки на C++. Во всяком случае, если Вы заглянете в тематический раздел Киберфорума, Вы увидите, что вместе с Visual C++ (Studio) и Builder именно Qt образует «большую тройку» современных сред разработки для C++. К тому же, сторонники Qt говорят, что только он изначально соблюдает концепцию ООП и весь из себя кроссплатформенный 🙂 Мдя, ну и бесплатный open source, конечно.

Как нам поставить и настроить это чудо под обычную 32- (64-) разрядную Windows? Смотрим официальный сайт, не ленимся нажать Show downloads.

Онлайн-сборки инсталлятора могут называться вроде

Увы, они будут докачивать порядка 800 Мб при установке и, по статистике, чаще становятся криво.

Офлайн-сборки (нажать Show Downloads на странице загрузок) могут называться, например

Это значит что они — с собственным компилятором 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 , содержащую значение

Кроме того, в системную переменную Path через точку с запятой прописываем пути

Как это сделать:
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 🙂

Теперь попробуем «приложение с интерфейсом»: меню Файл, Новый файл или проект, создать приложение QT Widgets. Текст модуля main.cpp :

Жмём Файл, Закрыть все документы и проекты — и вернёмся к начальному окну, готовые к новым подвигам 🙂

P.S. Ну и проблема ещё в том, что в инете и книгах большинство примеров — по QT4, а в QT5 есть заметные отличия, самое очевидное —

Читайте также:  Просмотр активных соединений linux

Подробнее здесь. А вот тут — много примеров с исходниками именно по QT5.

Ниже можно скачать оффлайн-сборку QT 5.2.1 с QT Creator и компилятором MinGW. При полной установке она обеспечивает нормальную работу приложения и не лезет в инет за дополнительными компонентами.

Скачать оффлайн-сборку QT 5.2.1 с QT Creator и компилятором MinGW в файле .exe, 634 Мб

Как слинковать приложение QT статически для работы на другом компьютере? DLL Collector

Как сделать Windows-инсталлятор для приложения на QT? InnoSetup

Qt everywhere для windows

List of best mirrors for IP address 185.151.241.146, located at 55.738602,37.606800 in Russian Federation (RU), network 185.151.240.0/23 (autonomous system 49505).

Found 9 mirrors in other countries, but same continent (EU)

  • http://master.qt.io/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (fi, prio 100)
  • http://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (fi, prio 100)
  • http://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (se, prio 100)
  • http://mirrors.dotsrc.org/qtproject/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (dk, prio 100)
  • http://ftp.fau.de/qtproject/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (de, prio 100)
  • http://qt-mirror.dannhauer.de/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (de, prio 100)
  • http://ftp1.nluug.nl/languages/qt/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (nl, prio 100)
  • http://ftp2.nluug.nl/languages/qt/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (nl, prio 100)
  • http://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (gb, prio 100)

Found 8 mirrors in other parts of the world

  • http://qtproject.mirror.liquidtelecom.com/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (ke, prio 100)
  • http://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (cn, prio 100)
  • http://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (cn, prio 100)
  • http://ftp.jaist.ac.jp/pub/qtproject/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (jp, prio 100)
  • http://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (jp, prio 100)
  • http://qt.mirror.constant.com/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (us, prio 100)
  • http://mirror.csclub.uwaterloo.ca/qtproject/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (ca, prio 100)
  • http://mirrors.ocf.berkeley.edu/qt/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip (us, prio 100)

Qt® and the Qt logo is a registered trade mark of The Qt Company Ltd and is used pursuant to a license from The Qt Company Ltd.
All other trademarks are property of their respective owners.

The Qt Company Ltd, Valimotie 21, 00380 Helsinki, Finland. Org. Nr. 2637805-2

В поддержку Qt

статьи в помощь разработчику

Сборка библиотеки Qt

В данной статье приводятся пошаговые инструкции сборки библиотеки Qt 5 под Windows c MinGW и MSVC 2010. Библиотека Qt, собранная по одной из этих инструкций, будет не только полноценной, но еще и правильно сконфигурированной. Последнее означает, что в результате сборки и установки в отдельную папку будет выделено минимально необходимое количество файлов, а весь довольно объемный «мусор», порожденный в процессе сборки, останется в другом месте и может быть в последствии удален.

Все, о чем говорилось выше, является «оптимистической лирикой», а теперь «суровая правда жизни»: в настоящее время нет никакой необходимости собирать библиотеку Qt 5 ни с MinGW, ни с MSVC 2010. Когда то таковая необходимость возникала в связи с тем, что разработчики в очередном релизе не удосуживались представить версию сборки, сконфигурированную с опцией -opengl desktop . Актуальная на сегодняшний день версия Qt сконфигурирована с опцией -dynamicgl и выполняет все, что от нее требуется.

Тем не менее, на освоение навыков сборки Qt из исходников в свое время было затрачено не мало усилий. Не хотелось бы их бездарно растерять, к тому же, нет никаких гарантий, что эти навыки однажды не окажутся востребованными. Это и явилось побудительным мотивом к написанию данной статьи. Ниже приведены инструкции по сборке Qt 5 с MinGW и с MSVC 2010. Для переключения между ними используйте ссылку [Переключить] .

Еще одна «ложка дегтя». Не стоит даже пытаться собрать библиотеку Qt, не имея в своем распоряжении производительного компьютера (желательно i7, 4 ядра, 8 потоков по технологии Hyper-trheading). В противном случае, продолжительность процесса сборки будет измеряться не часами, а сутками, а закончиться все может тихой истерикой после возникновения непредвиденной ошибки.

Qt 5 с MSVC 2010 [Переключить]

Для сборки потребуются

исходники Qt 5
Windows SDK for Windows 7 and .NET Framework 4
ActivePython
Strawberry Perl
Ruby
ICU
OpenSSL
PThreads
SQLite
Git
DirectX Software Development Kit (DXSDK)

Для сборки ICU с MSVC нужен

Для определенности договоримся, что библиотеку будем собирать в папке E:\Qt\qt-src-5.5.1 , а устанавливать – в папку D:\Qt\qt-5.5.1-vs . Большинство компонентов, необходимых для сборки Qt, будем устанавливать в папку E:\Qt\qt5-deps (или собирать их в этой папке). Рассмотрим пошагово порядок действий.

1. Руководствуясь инструкцией, устанавливаем Windows SDK for Windows 7 and .NET Framework 4.

2. Скачиваем ActivePython с ресурса, установочный файл

ActivePython-2.7.10.12-win32-x86.msi 39 MB
(версия файла на момент написания статьи)

устанавливаем в папку E:\Qt\qt5-deps\Python27

3. Скачиваем Strawberry Perl с ресурса, установочный файл

strawberry-perl-5.22.0.1-32bit.msi 76 MB
(версия файла на момент написания статьи)

устанавливаем в папку E:\Qt\qt5-deps\Strawberry

4. Скачиваем Ruby с ресурса, установочный файл

rubyinstaller-2.1.7.exe 17 MB
(версия файла на момент написания статьи)

устанавливаем в папку E:\Qt\qt5-deps\Ruby21

5. Скачиваем Git с ресурса, установочный файл

Git-2.6.3-32-bit.exe 29 MB
(версия файла на момент написания статьи)

устанавливаем в папку C:\Tools\Git

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

6. Скачиваем DirectX Software Development Kit по ссылке, установочный файл

DXSDK_Jun10.exe 572 MB

устанавливаем в папку E:\Qt\qt5-deps\DXSDK

На предложение разрешить сбор информации о компьютере выбираем

No, I would not like to participate

По окончании установки проверяем среди системных наличие переменной DXSDK_DIR , в которой прописано

Обратный слэш в конце здесь как раз нужен.

7. Скачиваем OpenSSL с ресурса, архив

openssl-1.0.2d.tar.gz 5 MB
(версия файла на момент написания статьи)

распаковываем его в папку E:\Qt\qt5-deps . Запускаем Windows SDK 7.1 Command Prompt и поочередно вводим команды

cd /D E:\Qt\qt5-deps\openssl-1.0.2d
perl Configure VC-WIN32 no-asm —prefix=E:\Qt\qt5-deps\openssl-1.0.2d\dist no-idea no-mdc2 no-rc5
ms\do_ms
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install

Читайте также:  Css v34 server download linux

8. Для сборки ICU с MSVC wiki.qt.io предлагает использовать Cygwin. Скачиваем его с официального сайта, онлайн установщик

setup-x86.exe 815 KB

устанавливаем в папку E:\Qt\qt5-deps\Cygwin . В качестве Local Package Directory указываем E:\Qt\qt5-deps\Cygwin\Local . Когда дойдет дело до загрузки пакетов, чтобы определить какие именно следует загружать, в строке поиска поочередно вводим ключевые слова: make , dos2unix и binutils , соответственно, отмечаем для загрузки три пакета

Devel -> make: The GNU version of the ‘make’ utility
Utils -> dos2unix: Line Break Convesion
Devel -> binutils: GNU assembler, linker, and similar utilities

Соглашаемся с Resolving Dependencies и дожидаемся окончания установки.

9. Скачиваем ICU с ресурса, архив

icu4c-54_1-src.zip 26 MB
(именно эта версия используется в устанавливаемой Qt 5.5.1)

распаковываем его в папку E:\Qt\qt5-deps . Запускаем Windows SDK7.1 Command Prompt и поочередно вводим команды

cd /D E:\Qt\qt5-deps\icu\source
set PATH=%PATH%;E:\Qt\qt5-deps\Cygwin\bin
dos2unix *
dos2unix -f configure
bash runConfigureICU Cygwin/MSVC -prefix=/cygdrive/e/Qt/qt5-deps/icu/dist
make
make install

10. Скачиваем PThreads с ресурса, архив

pthreads-w32-2-9-1-release.zip 1,2 MB
(версия файла на момент написания статьи)

распаковываем его в папку E:\Qt\qt5-deps

11. Скачиваем SQLite с ресурса, архив

sqlite-dll-win32-x86-3081002.zip 399 KB
(версия файла на момент написания статьи)

распаковываем его в папку E:\Qt\qt5-deps\sqlite

12. Скачиваем исходники библиотеки Qt 5 на странице загрузки, архив

qt-everywhere-opensource-src-5.5.1.zip 542 MB
(версия файла на момент написания статьи)

распаковываем его в E:\Qt , переименовываем папку E:\Qt\qt-everywhere-opensource-src-5.5.1 , как договаривались, в E:\Qt\qt-src-5.5.1 .

13. Копируем в папку E:\Qt\qt-src-5.5.1\qtbase\bin файлы библиотек

E:\Qt\qt5-deps\icu\dist\lib\icudt54.dll
E:\Qt\qt5-deps\icu\dist\lib\icuin54.dll
E:\Qt\qt5-deps\icu\dist\lib\icuuc54.dll
E:\Qt\qt5-deps\openssl-1.0.2d\dist\bin\libeay32.dll
E:\Qt\qt5-deps\openssl-1.0.2d\dist\bin\ssleay32.dll
E:\Qt\qt5-deps\sqlite\sqlite3.dll

в папку E:\Qt\qt-src-5.5.1\qtbase\lib файлы

E:\Qt\qt5-deps\icu\dist\lib\icudt.lib
E:\Qt\qt5-deps\icu\dist\lib\icuin.lib
E:\Qt\qt5-deps\icu\dist\lib\icuuc.lib
E:\Qt\qt5-deps\openssl-1.0.2d\dist\lib\libeay32.lib
E:\Qt\qt5-deps\openssl-1.0.2d\dist\lib\ssleay32.lib

и в папку E:\Qt\qt-src-5.5.1\qtbase\include копируем папки с файлами заголовков ICU и OpenSSL

E:\Qt\qt5-deps\icu\dist\include\layout
E:\Qt\qt5-deps\icu\dist\include\unicode
E:\Qt\qt5-deps\openssl-1.0.2d\dist\include\openssl

14. Для удобства создадим пакетный файл E:\Qt\qt-src-5.5.1\config.bat со следующим содержимым

set INCLUDE=E:\Qt\qt5-deps\pthreads\Pre-built.2\include; %INCLUDE%
set INCLUDE=E:\Qt\qt5-deps\openssl-1.0.2d\dist\include; %INCLUDE%
set INCLUDE=E:\Qt\qt5-deps\icu\dist\include; %INCLUDE%

set LIB=E:\Qt\qt5-deps\sqlite; %LIB%
set LIB=E:\Qt\qt5-deps\pthreads\Pre-built.2\lib\x86; %LIB%
set LIB=E:\Qt\qt5-deps\openssl-1.0.2d\dist\lib; %LIB%
set LIB=E:\Qt\qt5-deps\icu\dist\lib; %LIB%

set QMAKESPEC=
set QTDIR=

set PATH =C:\Tools\Git\cmd; %PATH%
set PATH =E:\Qt\qt5-deps\sqlite; %PATH%
set PATH =E:\Qt\qt5-deps\pthreads\Pre-built.2\dll\x86; %PATH%
set PATH =E:\Qt\qt5-deps\openssl-1.0.2d\dist\bin; %PATH%
set PATH =E:\Qt\qt5-deps\icu\dist\bin; %PATH%
set PATH =E:\Qt\qt5-deps\Ruby21\bin; %PATH%
set PATH =E:\Qt\qt5-deps\Python27; %PATH%
set PATH =E:\Qt\qt5-deps\Strawberry\perl\bin; %PATH%
set PATH =E:\Qt\qt5-deps\Strawberry\c\bin; %PATH%
set PATH =E:\Qt\qt-src-5.5.1\gnuwin32\bin; %PATH%
set PATH =E:\Qt\qt-src-5.5.1\qtbase\bin; %PATH%

configure -prefix D:\Qt\qt-5.5.1-vs -opensource -confirm-license -platform win32-msvc2010 -mp -release -shared -debug-and-release -qt-zlib -opengl desktop -openssl -dbus -wmf-backend -plugin-sql-odbc -nomake tests -nomake examples

Опция -release в команде configure нужна для того, чтобы по умолчанию проекты собирались в конфигурации Выпуск , и при этом не требовалось добавлять в команду qmake параметр CONFIG+=release .

Возможно, что опция -shared включается автоматически и может не указываться явно.

Опция -mp включает распараллеливание компиляции.

Иногда рекомендуют указывать опцию -developer-build , но при сборке установливаемой Qt 5.5.1, например, она не указывалась.

15. Выполняем в Windows SDK7.1 Command Prompt

cd /D E:\Qt\qt-src-5.5.1
config.bat
nmake
nmake install

Создание qmake и конфигурация сборки библиотеки занимает несколько минут. Непосредственно сборка и установка Qt – от 2-х часов и больше.

16. Для обеспечения доступности при любых обстоятельствах необходимых библиотек ICU копируем в папку D:\Qt\qt-5.5.1-vs\bin файлы:

E:\Qt\qt5-deps\icu\dist\lib\icudt54.dll
E:\Qt\qt5-deps\icu\dist\lib\icuin54.dll
E:\Qt\qt5-deps\icu\dist\lib\icuuc54.dll

Туда же копируем файлы:

17. В завершение соорудим себе привычное окружение. Создаем пакетный файл D:\Qt\qt-5.5.1-vs\bin\qtenv2.bat со следующим содержимым

echo off
echo Setting up environment for Qt usage.
set PATH =D:\Qt\qt-5.5.1-vs\bin; %PATH%
cd /D D:\Qt\qt-5.5.1-vs
rem echo Remember to call vcvarsall.bat to complete environment setup!
call «C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat» x86

Замечание. Последня строка для 32-разрядной ОС выглядит иначе

call «C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat» x86

Создаем группу ярлыков Qt 5.5.1 MSVC 2010 (OpenGL) (папку)

Windows XP: C:\Documents and Settings\All Users\Главное меню\Программы\Qt 5.5.1 MSVC 2010 (OpenGL)
Windows 7: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Qt 5.5.1 MSVC 2010 (OpenGL)

помещаем в нее ярлыки

Assistant
Объект: D:\Qt\qt-5.5.1-vs\bin\assistant.exe
Рабочая папка: D:\Qt\qt-5.5.1-vs

Designer
Объект: D:\Qt\qt-5.5.1-vs\bin\designer.exe
Рабочая папка: D:\Qt\qt-5.5.1-vs

Linguist
Объект: D:\Qt\qt-5.5.1-vs\bin\linguist.exe
Рабочая папка: D:\Qt\qt-5.5.1-vs

Qt 5.5 32-bit for Desktop (MSVC 2010)
Объект: C:\Windows\System32\cmd.exe /A /Q /K D:\Qt\qt-5.5.1-vs\bin\qtenv2.bat
Рабочая папка: C:\Windows\system32

Сюда же можно будет поместить и ярлык Qt Creator.

Для сборки потребуются

исходники Qt 5
MinGW
MSYS
ActivePython
Strawberry Perl
Ruby
ICU
OpenSSL
Git
DirectX Software Development Kit (DXSDK)

Windows SDK for Windows 7

а этому, в свою очередь,

Microsoft .NET Framework 4

Для определенности договоримся, что библиотеку будем собирать в папке E:\Qt\qt-src-5.5.1 , а устанавливать – в папку C:\Qt\qt-5.5.1 . Большинство компонентов, необходимых для сборки Qt, будем устанавливать в папку E:\Qt\qt5-deps (или собирать их в этой папке). Рассмотрим пошагово порядок действий.

1. Руководствуясь инструкцией, устанавливаем MinGW 4.9.2 и MSYS (вместе с MinGW 4.6.2).

2. Скачиваем ActivePython с ресурса, установочный файл

ActivePython-2.7.10.12-win32-x86.msi 39 MB
(версия файла на момент написания статьи)

устанавливаем в папку E:\Qt\qt5-deps\Python27

3. Скачиваем Strawberry Perl с ресурса, установочный файл

strawberry-perl-5.22.0.1-32bit.msi 76 MB
(версия файла на момент написания статьи)

устанавливаем в папку E:\Qt\qt5-deps\Strawberry

4. Скачиваем Ruby с ресурса, установочный файл

rubyinstaller-2.1.7.exe 17 MB
(версия файла на момент написания статьи)

устанавливаем в папку E:\Qt\qt5-deps\Ruby21

5. Скачиваем Git с ресурса, установочный файл

Git-2.6.3-32-bit.exe 29 MB
(версия файла на момент написания статьи)

устанавливаем в папку C:\Tools\Git

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

Читайте также:  Слетела активация windows 10 ошибка 0xc004f074

6. Устанавливаем Windows SDK for Windows 7 and .NET Framework 4 (см. инструкцию).

7. Скачиваем DirectX Software Development Kit по ссылке, установочный файл

DXSDK_Jun10.exe 572 MB

устанавливаем в папку E:\Qt\qt5-deps\DXSDK

На предложение разрешить сбор информации о компьютере выбираем

No, I would not like to participate

По окончании установки проверяем среди системных наличие переменной DXSDK_DIR , в которой прописано

Обратный слэш в конце здесь как раз нужен.

8. Скачиваем OpenSSL с ресурса, архив

openssl-1.0.2d.tar.gz 5 MB
(версия файла на момент написания статьи)

помещаем его в папку E:\Qt\qt5-deps . Запускаем MinGW Shell (см. MinGW 4.6.2) и поочередно вводим команды

unset MAKE_COMMAND MAKEFLAGS
export PATH=»/c/Qt/mingw-4.9.2/bin:$PATH»
cd /e/Qt/qt5-deps
tar -zxvf openssl-1.0.2d.tar.gz
cd openssl-1.0.2d
./Configure —prefix=/e/Qt/qt5-deps/openssl-1.0.2d/dist no-idea no-mdc2 no-rc5 shared mingw
make depend && make && make install

9. Скачиваем ICU с ресурса, архив

icu4c-54_1-src.zip 26 MB
(именно эта версия используется в устанавливаемой Qt 5.5.1)

помещаем его в папку E:\Qt\qt5-deps . Запускаем MinGW Shell (см. MinGW 4.6.2) и поочередно вводим команды

unset MAKE_COMMAND
export PATH=»/c/Qt/mingw-4.9.2/bin:$PATH»
cd /e/Qt/qt5-deps
unzip icu4c-54_1-src.zip
cd icu
./runConfigureICU MinGW —prefix=/e/Qt/qt5-deps/icu/dist
make && make install

10. Скачиваем исходники библиотеки Qt 5 на странице загрузки, архив

qt-everywhere-opensource-src-5.5.1.zip 542 MB
(версия файла на момент написания статьи)

распаковываем его в E:\Qt , переименовываем папку E:\Qt\qt-everywhere-opensource-src-5.5.1 , как договаривались, в E:\Qt\qt-src-5.5.1 .

11. Копируем в папку E:\Qt\qt-src-5.5.1\qtbase\bin файлы собранной выше библиотеки ICU

E:\Qt\qt5-deps\icu\dist\lib\icudt54.dll
E:\Qt\qt5-deps\icu\dist\lib\icuin54.dll
E:\Qt\qt5-deps\icu\dist\lib\icuuc54.dll

в папку E:\Qt\qt-src-5.5.1\qtbase\lib файлы

E:\Qt\qt5-deps\icu\dist\lib\icudt.dll
E:\Qt\qt5-deps\icu\dist\lib\icuin.dll
E:\Qt\qt5-deps\icu\dist\lib\icuuc.dll

и в папку E:\Qt\qt-src-5.5.1\qtbase\include копируем папки с файлами заголовков ICU и OpenSSL

E:\Qt\qt5-deps\icu\dist\include\layout
E:\Qt\qt5-deps\icu\dist\include\unicode
E:\Qt\qt5-deps\openssl-1.0.2d\dist\include\openssl

12. Данный пункт заслуживает отдельного внимания. Не трудно догадаться, что процесс сборки Qt занимает много времени. Эту проблему можно смягчить, если озаботиться обеспечением распараллеливания компиляции. Для этого делаем резервную копию файла E:\Qt\qt-src-5.5.1\qtbase\qmake\generators\makefile.cpp , открываем его для редактирования и правим строку

QString makefilein = » -f » + escapeFilePath(subtarget-> makefile );

которая встречается в этом файле 2 раза. Новая редакция строки выглядит, например, так

QString makefilein = » -j9 -f » + escapeFilePath(subtarget-> makefile );

Число потоков компиляции в ключе -jN в Вашем случае зависит от количества ядер процессора M . Обычно рекомендуется брать N = M + 1 . Если процессор поддерживает технологию Hyper-trheading, то число потоков N = 2 · M + 1 .

13. Для удобства создадим пакетный файл E:\Qt\qt-src-5.5.1\config.bat со следующим содержимым

set INCLUDE=E:\Qt\qt5-deps\icu\dist\include
set INCLUDE= %INCLUDE% ;E:\Qt\qt5-deps\openssl-1.0.2d\dist\include

set LIB=E:\Qt\qt5-deps\icu\dist\lib
set LIB= %LIB% ;E:\Qt\qt5-deps\openssl-1.0.2d\dist\lib

set QMAKESPEC=
set QTDIR=

set PATH =E:\Qt\qt-src-5.5.1\qtbase\bin
set PATH = %PATH% ;E:\Qt\qt-src-5.5.1\gnuwin32\bin
set PATH = %PATH% ;C:\Qt\mingw-4.9.2\bin
set PATH = %PATH% ;E:\Qt\qt5-deps\Strawberry\c\bin
set PATH = %PATH% ;E:\Qt\qt5-deps\Strawberry\perl\bin
set PATH = %PATH% ;E:\Qt\qt5-deps\Python27
set PATH = %PATH% ;E:\Qt\qt5-deps\Ruby21\bin
set PATH = %PATH% ;E:\Qt\qt5-deps\icu\dist\bin
set PATH = %PATH% ;E:\Qt\qt5-deps\openssl-1.0.2d\dist\bin
set PATH = %PATH% ;C:\Tools\Git\cmd
set PATH = %PATH% ; %SystemRoot% \System32

configure -prefix C:\Qt\qt-5.5.1 -opensource -confirm-license -platform win32-g++ -release -shared -debug-and-release -c++11 -qt-zlib -opengl desktop -openssl -dbus -iconv -plugin-sql-odbc -nomake tests -nomake examples

Опция -release в команде configure нужна для того, чтобы по умолчанию проекты собирались в конфигурации Выпуск , и при этом не требовалось добавлять в команду qmake параметр CONFIG+=release .

Возможно, что опция -shared включается автоматически и может не указываться явно.

Иногда рекомендуют указывать опцию -developer-build , но при сборке установливаемой Qt 5.5.1, например, она не указывалась.

14. Выполняем в командной строке Windows

cd /D E:\Qt\qt-src-5.5.1
config.bat
mingw32-make
mingw32-make install

Создание qmake и конфигурация сборки библиотеки занимает несколько минут. Непосредственно сборка и установка Qt – от 2-х часов и больше.

15. Добавление ключа -jN в генерируемые qmake скрипты (см. пункт 12) существенно ускоряет сборку проектов, однако, может приводить к выдаче компилятором предупреждений вида

mingw32-make[2]: warning: -jN forced in submake: disabling jobserver mode

Если Вас наличие таких предупреждений не смущает, то можно оставить все как есть и данный пункт инструкции пропустить. Можно убрать этот ключ. Для этого удаляем, сделав резервные копии, файлы:

E:\Qt\qt-src-5.5.1\Makefile
E:\Qt\qt-src-5.5.1\qtbase\Makefile
E:\Qt\qt-src-5.5.1\qtbase\qmake\Makefile
E:\Qt\qt-src-5.5.1\qtbase\qmake\*.o

восстановливаем из резервной копии файл E:\Qt\qt-src-5.5.1\qtbase\qmake\generators\makefile.cpp . Выполняем в командной строке Windows

cd /D E:\Qt\qt-src-5.5.1
config.bat

По окончании сборки копируем файл E:\Qt\qt-src-5.5.1\qtbase\bin\qmake.exe в папку C:\Qt\qt-5.5.1\bin . Теперь у Вас есть две версии qmake : одна без ключа -jN , вторая (в резервной копии) с ключом. С первой проекты собираются медленно, но без выдачи предупреждений. Вторая позволяет сэкономить время, благодаря распараллеливанию компиляции, но в процессе сборки проектов, содержащих подпроекты, выдаются предупреждения.

16. Для обеспечения доступности при любых обстоятельствах необходимых библиотек ICU и MinGW копируем в папку C:\Qt\qt-5.5.1\bin файлы:

E:\Qt\qt5-deps\icu\dist\lib\icudt54.dll
E:\Qt\qt5-deps\icu\dist\lib\icuin54.dll
E:\Qt\qt5-deps\icu\dist\lib\icuuc54.dll
C:\Qt\mingw-4.9.2\bin\libgcc_s_dw2-1.dll
C:\Qt\mingw-4.9.2\bin\libstdc++-6.dll
C:\Qt\mingw-4.9.2\bin\libwinpthread-1.dll

Туда же копируем файлы:

17. В завершение соорудим себе привычное окружение. Создаем пакетный файл C:\Qt\qt-5.5.1\bin\qtenv2.bat со следующим содержимым

echo off
echo Setting up environment for Qt usage.
set PATH =C:\Qt\qt-5.5.1\bin;C:\Qt\mingw-4.9.2\bin; %PATH%
cd /D C:\Qt\qt-5.5.1

Создаем группу ярлыков Qt 5.5.1 MinGW 4.9.2 (OpenGL) (папку)

Windows XP: C:\Documents and Settings\All Users\Главное меню\Программы\Qt 5.5.1 MinGW 4.9.2 (OpenGL)
Windows 7: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Qt 5.5.1 MinGW 4.9.2 (OpenGL)

помещаем в нее ярлыки

Assistant
Объект: C:\Qt\qt-5.5.1\bin\assistant.exe
Рабочая папка: C:\Qt\qt-5.5.1

Designer
Объект: C:\Qt\qt-5.5.1\bin\designer.exe
Рабочая папка: C:\Qt\qt-5.5.1

Linguist
Объект: C:\Qt\qt-5.5.1\bin\linguist.exe
Рабочая папка: C:\Qt\qt-5.5.1

Qt 5.5 for Desktop (MinGW 4.9.2 32 bit)
Объект: C:\Windows\System32\cmd.exe /A /Q /K C:\Qt\qt-5.5.1\bin\qtenv2.bat
Рабочая папка: C:\Windows\system32

Сюда же можно будет поместить и ярлык Qt Creator.

На этом сборка завершена.

Это новая редакция статьи, старая редакция доступна по ссылке.

Оцените статью