Название: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Июль 01, 2018, 13:42 Задался целью разобраться серьезнее с Qt и поэкспериментировать/потренироваться, собрав все самое необходимое и новое. Необходимо будет работать с: мультимедиа аудио/видео, текстом, HTML...
В связи с этим первый вопрос. Какие библиотеки порекомендуете установить? И чего будет недоставать при сборке Qt, описанной ниже? Возможно, придется установить несколько Qt-сборок? Второй вопрос, собственно по сборке (что не учел и что понадобится), и конкретно по сборке документации (как собрать). Сборка в отдельную папку: 1. Собираю в системе: Ноутбук i5-2430M/12Gb/SVGA GF GT555M Windows 7-64 2. Взял все самое новое: MSYS-1.0.11 (с MSYS2 что-то не смог разобраться) i686-8.1.0-release-posix-dwarf-rt_v6-rev0 qt-everywhere-src-5.11.1.tar (.zip тоже пробовал, для того, чтобы убедиться, что дело не в битом пакете) qt-creator-opensource-windows-x86-4.6.2 openssl-1.0.2n.tar (openssl-1.0.2o.tar почему то отказался собираться) icu4c-62_1-src python-2.7.15.msi (пока не разобрался стоит ли пробовать ставить 3й или, что-то откажется работать) rubyinstaller-devkit-2.4.4-2-x86 strawberry-perl-5.26.2.1-32bit LLVM-6.0.0-win32.exe (насколько понял это требуется для QDoc в QT5.11) И расположил в папках: C:\MinGW C:\openssl-1.0.2n C:\icu C:\Python27 C:\Ruby24 C:\Strawberry C:\LLVM Исходники: C:\QT\5.11.1 Собираем здесь: C:\QT\Qt-5.11.1 Для тех, кто будет собирать по подобной схеме: Копируем (по совету одного из описаний сборки) в папку C:\QT\5.11.1\qtbase\bin файлы библиотеки ICU: C:\icu\dist\lib\icudt62.dll C:\icu\dist\lib\icuin62.dll C:\icu\dist\lib\icuuc62.dll В папку C:\QT\5.11.1\qtbase\lib файлы: C:\icu\dist\lib\icudt.dll C:\icu\dist\lib\icuin.dll C:\icu\dist\lib\icuuc.dll В папку C:\QT\5.11.1\qtbase\include копируем папки с файлами заголовков: C:\icu\dist\include\layout - ЭТОЙ ПАПКИ НЕ НАШЕЛ (взял с C:\icu\source\layoutex) C:\icu\dist\include\unicode C:\openssl-1.0.2n\dist\include\openssl После сборки Qt копируем в папку C:\Qt\Qt-5.11.1\bin файлы (иначе Qt не будет компилировать): C:\icu\dist\lib\icudt62.dll C:\icu\dist\lib\icuin62.dll C:\icu\dist\lib\icuuc62.dll C:\Qt\MinGW\bin\libgcc_s_dw2-1.dll C:\Qt\MinGW\bin\libstdc++-6.dll C:\Qt\MinGW\bin\libwinpthread-1.dll C:\Qt\5.11.1\qtbase\bin\qt.conf C:\Qt\5.11.1\qtbase\bin\fixqt4headers.pl 3. Закинул qt5vars.cmd в C:\QT\5.11.1 с содержимым: SET _ROOT=C:\QT\5.11.1 SET QT_INSTALL=C:\QT\Qt-5.11.1 SET MINGWDIR=C:\MinGW SET PYTHON2DIR=C:\Python27 SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PYTHON2DIR%;%PATH% :: Эта парочка, скорее всего лишняя: SET PATH=C:\icu\dist\bin;%PATH% SET PATH=C:\openssl-1.0.2n\dist\bin;%PATH% cmd /k Запускаем и получаем такие пути: C:\QT\5.11.1>SET PATH=C:\openssl-1.0.2n\dist\bin;C:\icu\dist\bin;C:\QT\5.11.1\qt base\bin;C:\QT\5.11.1\gnuwin32\bin;C:\Python27;C:\MinGW\bin;C:\Ruby24\bin;C:\Win dows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPow erShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\7-Zip;C:\LLVM\bin;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Straw berry\perl\bin 4. Не закрывая консоли, сконфигурировал: configure -prefix %QT_INSTALL% -I "C:\openssl-1.0.2n\dist\include" -L "C:\openssl-1.0.2n\dist\lib" -I "C:\icu\dist\include" -L "C:\icu\dist\lib" -platform win32-g++ -debug-and-release -sse2 -openssl -icu -opensource -no-angle -qt-sqlite -plugin-sql-odbc -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -make libs -make tools -opengl desktop 5. Собираем (отключив антивирус): mingw32-make -j5 (5 часов) mingw32-make -j5 install 6. Далее в той же консоли (не закрывая) запустил командный файл conf4_docs.cmd с содержимым: SET QT_INSTALL=C:\QT\Qt-5.11.1 SET PATH=%QT_INSTALL%\bin%PATH% SET LLVM_INSTALL_DIR=C:\LLVM SET QT_INSTALL_DOCS=C:\QT\Qt-5.11.1\doc Получаем такие пути: C:\QT\5.11.1>SET PATH=C:\QT\Qt-5.11.1\bin;C:\openssl-1.0.2n\dist\bin;C:\icu\dist \bin;C:\QT\5.11.1\qtbase\bin;C:\QT\5.11.1\gnuwin32\bin;C:\Python27;C:\MinGW\bin; C:\Ruby24\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows \System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\Phys X\Common;C:\Program Files\7-Zip;C:\LLVM\bin;C:\Strawberry\c\bin;C:\Strawberry\pe rl\site\bin;C:\Strawberry\perl\bin 7. Пытаемся собрать документацию: mingw32-make -j5 docs Получаем: "C:\QT\Qt-5.11.1\bin\qdoc.exe" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. mingw32-make[6]: *** [Makefile.Debug:1174: prepare_docs] Error 9009 mingw32-make[6]: Leaving directory 'C:/QT/5.11.1/qtbase/src/corelib' mingw32-make[5]: *** [Makefile:315: debug-prepare_docs] Error 2 mingw32-make[5]: Leaving directory 'C:/QT/5.11.1/qtbase/src/corelib' mingw32-make[4]: *** [Makefile:1796: sub-corelib-prepare_docs] Error 2 mingw32-make[4]: Leaving directory 'C:/QT/5.11.1/qtbase/src' mingw32-make[3]: *** [Makefile:435: sub-src-prepare_docs] Error 2 mingw32-make[3]: Leaving directory 'C:/QT/5.11.1/qtbase' mingw32-make[2]: *** [Makefile:2320: module-qtbase-prepare_docs] Error 2 mingw32-make[2]: Leaving directory 'C:/QT/5.11.1' mingw32-make[1]: *** [Makefile:1459: html_docs] Error 2 mingw32-make[1]: Leaving directory 'C:/QT/5.11.1' mingw32-make: *** [Makefile:1462: docs] Error 2 qdoc.exe действительно нет в папке Qt-5.11.1\bin. Цитировать As of this writing, users wishing to build and/or run QDoc must install LLVM 3.9 or greater and set the variable LLVM_INSTALL_DIR accordingly. The pre-built binaries needed can be found here. Не знаю, как с этим работать и поступил по простому, выбрал по указанной ссылке LLVM-6.0.0-win32.exe, установил в каталог C:\LLVM, как видно выше создал переменную SET LLVM_INSTALL_DIR=C:\LLVM. Дальше, как видим выше, ничего хорошего не получилось._______________________ Справедливости ради, хочу сказать, что собирал QT-5.9.6 по такой же схеме. Документацию собирал и она собирается: mingw32-make -j5 mingw32-make -j5 install Однако как не пытался, но мне не так и не удалось собрать документацию в целевой папке. Документация собирается в исходной, чего только не делал (наверное, только нужного шага не сделал), перерыл интернет, потратил несколько дней и решил, наконец, посоветоваться. Но там хоть простым копированием (с исходной в целевую) запустил документацию (насколько это правильно не знаю). Так же и с Qt-5.10. Там собирается только в исходной папке (хотя какие то предупреждения уже выдает), но все-таки собирается, хотя вроде тоже уже требуется LLVM/libllvm: Цитировать Note: from Qt version 5.10 LLVM/libllvm version >= 3.9 is required to build QDoc. See Installing clang for QDoc. If LLVM is not installed or it would not be found in package tree of your system, QDoc will not be built and you will not be able to build documentation. Once LLVM is installed the LLVM_INSTALL_DIR environment variable must be set pointing to its top-level installation directory. Топик получился не малый, но решил описать все подробнее, что бы опытные Гуру заметили ошибки, а так же дали дельные советы. Заранее огромное спасибо, что хотя бы почитать не сочли за труд. Итак, как все таки собрать документацию в Qt-5.11.1, причем в папку сборки самой QT - C:\QT\Qt-5.11.1\doc? И что еще следует полезного установить и пригодится для полного счастья, что бы можно было уже ни о чем не беспокоиться, тренироваться и пытаться, что-то творить, в хорошем смысле этого слова? Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: ViTech от Июль 01, 2018, 14:35 А чем не устраивают готовые сборки из Qt Online Installer (https://www.qt.io/download-qt-installer)? Или цель именно самому собрать Qt?
Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Июль 01, 2018, 14:43 Можно конечно воспользоваться и готовыми сборками, но как писал выше, все таки есть желание чуть больше разобраться с этой "кухней" и постепенно научиться собирать сторонние модули, если понадобятся. Кроме того иногда ковыряю открытый совместный проект, который требует сборки Qt.
Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Авварон от Июль 01, 2018, 15:10 кажется, не собрался qttools (или где там qdoc живет). Не знаю, должен ли он собираться по умолчанию, но можно просто сделать туда cd, qmake && make && make install
Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Пантер от Июль 01, 2018, 15:50 Можно конечно воспользоваться и готовыми сборками, но как писал выше, все таки есть желание чуть больше разобраться с этой "кухней" и постепенно научиться собирать сторонние модули, если понадобятся. Кроме того иногда ковыряю открытый совместный проект, который требует сборки Qt. Тоже всегда под винду собирал сам. Хотя, я гентушник, это неизлечимо. :)Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Июль 14, 2018, 11:04 (Описанная ниже последовательность сэкономит особенно новичкам массу нервов и времени. Сложно дойти до конца. Дело в том, что судя по всему описания в интернете попросту списаны друг у друга. Если уж пишите то пишите ВСЕ. Несколько дней потратил только на установку MSVC2017. Не то что бы это оказалось сложно. Оказалось сложно понять, что не так. Если уж пишите фразы подобно Установите MSVC и дальше пакет SDK для Windows, а затем все у вас срастется. То это вовсе оказалось не так. Но это немного лирики.)
Задача: собрать среду разработки с максимально новыми компонентами + наиболее популярные сторонние библиотеки для работы с мультимедиа и текстом. На первом этапе будем считать цель достигнутой при условии, что запускаются все примеры стандартного комплекта. 1. Собираю в системе: Ноутбук i5-2430M/12Gb/SVGA GF GT555M Windows 7-64 2. На этот раз собирать систему будем, используя офлайн инсталлятор: qt-opensource-windows-x86-5.11.1.exe (2.39GB) И все бы было намного проще, если бы не одно НО. Инсталлятор не предоставляет ни одной 32х разрядной сборки с WebEngine. Собственно вообще нет варианта MSVC2017_32. Его и будем пытаться собрать самостоятельно. Дополнительно скачиваем (если при установки какие то пакеты потребуют поставить галочки на согласие прописать в путях, ставьте): icu4c-53_1-src.zip openssl-1.0.2o.tar python-2.7.15.msi rubyinstaller-devkit-2.4.4-2-x86.exe strawberry-perl-5.26.2.1-32bit.msi DXSDK_Jun10.exe pthreads-w32-2-9-1-release.zip sqlite-dll-win32-x86-3240000.zip LLVM-6.0.0-win32.exe (начиная с QT5.11 требуется для QDoc) jom_1_1_2.zip И располагаем в папках: C:\icu С icu немного подскажу. Дело в том, что собираем icu с использованием Cygwin. Два варианта установщика setup-x86.exe и setup-x86_64.exe. Какой ставить не особо разбирался. Воспользовался setup-x86.exe. Установка онлайн и надо будет выбрать необходимые компоненты, процедура не очевидна. А между тем, просто в строке поиска последовательно прописываем: make, dos2unix и binutils. Будут оставаться нужные компоненты, для каждого надо нажать мышкой, что бы надпись рядом с пакетом сменилась на install. После установки у вас так же появится папка с этими компонентами, с которой, если понадобится, можно будет переустановить Cygwin в режиме офлайн. Далее с консоли MSVS2017 (запустить ее можно с кнопки Пуск - Все программы...) вводим следующие команды: set PATH=%PATH%;C:\cygwin\bin cd C:\icu\source dos2unix * dos2unix -f configure dos2unix * (еще раз иначе выскочит ошибка '\r': command not found) bash runConfigureICU Cygwin/MSVC -prefix=/cygdrive/c/icu/dist make make install C:\openssl-1.0.2o C:\Python27 C:\Ruby24 C:\Strawberry C:\DXSDK C:\pthreads C:\sqlite C:\LLVM C:\jom_1_1_2 3. Установка Visual Studio Community 2017 v15.7.4 Если вы хотите скачать дистрибутив (38.6GB), делаем это следующим образом: vs_community.exe --layout D:\vs2017 --lang en-US ru-RU Однако русскую локализацию можно не ставить (на первых парах все равно придется снимать галочку, иначе будут проблемы): vs_community.exe --layout D:\vs2017 --lang en-US Итак, снимаем галочку с русской локали и ставим следующие компоненты: (https://b.radikal.ru/b25/1807/b5/f080a28b3daet.jpg) (https://b.radikal.ru/b25/1807/b5/f080a28b3dae.jpg) Если сам MSVC2017 не нужен можно воспользоваться Build Tools, либо онлайн, либо скачать: Microsoft Visual Studio 2017 Build Tools [15.7.0-15.7.4] (16.1GB) В дальнейшем можно будет ужать пакет, оставив только необходимые компоненты. Так же понадобится пакет SDK для Windows 10 (17134.12.180419-0858.rs4_release_svc_prod2_WindowsSDK) Можно инсталлировать, отметив галочки. Я просто распаковал и устанавил: X64 Debuggers And Tools-x64_en-us X86 Debuggers And Tools-x86_en-us 4. Установка Qt 5.11.1 Скачиваем офлайн установщик qt-opensource-windows-x86-5.11.1.exe и ставим в папку по умолчанию C:\Qt\Qt5.11.1 следующие компоненты: (https://d.radikal.ru/d41/1807/fc/7935b15e1b59t.jpg) (https://d.radikal.ru/d41/1807/fc/7935b15e1b59.jpg) Заметьте, что отмечаем Sources которые понадобятся, что бы скомпилировать свой вариант 32х битной msvc2017_32. Исходники (Sources) окажутся в папке C:\Qt\Qt5.11.1\5.11.1\Src. Копируем в папку C:\Qt\Qt5.11.1\5.11.1\Src\qtbase\bin файлы библиотек: C:\icu\dist\lib\icudt53.dll C:\icu\dist\lib\icuin53.dll C:\icu\dist\lib\icuuc53.dll C:\openssl-1.0.2o\dist\bin\libeay32.dll C:\openssl-1.0.2o\dist\bin\ssleay32.dll C:\sqlite\sqlite3.dll В папку C:\Qt\Qt5.11.1\5.11.1\Src\qtbase\lib файлы: C:\icu\dist\lib\icudt.lib C:\icu\dist\lib\icuin.lib C:\icu\dist\lib\icuuc.lib C:\openssl-1.0.2o\dist\lib\libeay32.lib C:\openssl-1.0.2o\dist\lib\ssleay32.lib В папку C:\Qt\Qt5.11.1\5.11.1\Src\qtbase\include копируем папки с файлами заголовков ICU и OpenSSL: C:\icu\dist\include\layout C:\icu\dist\include\unicode C:\openssl-1.0.2o\dist\include\openssl Каталог ресурсов Src сохранил дополнительно на диске D:\ на случай дальнейших экспериментов. 5. Собирать будем раздельно в каталоге C:\msvc2017_32. В C:\Qt\Qt5.11.1\5.11.1\Src создаем файл msvc2017_32.cmd с содержимым: SET _ROOT=C:\Qt\Qt5.11.1\5.11.1\Src SET QT_INSTALL=C:\msvc2017_32 SET PATH=C:\sqlite;%PATH% SET PATH=C:\pthreads\Pre-built.2\dll\x86;%PATH% SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH% SET QTDIR= SET QMAKESPEC= SET _ROOT= set cl=/MP CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x86 cmd /k 6. Конфигурирование сборки. В каталоге C:\Qt\Qt5.11.1\5.11.1\Src запускаем файл msvc2017_32.cmd После чего видим прописанные пути и консоль MSVC 2017 инициализированной для 'x86': C:\Qt\Qt5.11.1\5.11.1\Src>SET PATH=C:\Qt\Qt5.11.1\5.11.1\Src\qtbase\bin;C:\Qt\Qt 5.11.1\5.11.1\Src\gnuwin32\bin;C:\pthreads\Pre-built.2\dll\x86;C:\sqlite;C:\msvc 2017_32\bin;C:\Ruby24\bin;C:\Python27\;C:\Python27\Scripts;C:\Windows\system32;C :\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C :\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\7-Zip;C:\ Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\LLVM\bin ... C:\Qt\Qt5.11.1\5.11.1\Src>CALL "C:\Program Files (x86)\Microsoft Visual Studio\2 017\Community\VC\Auxiliary\Build\vcvarsall.bat" x86 ********************************************************************** ** Visual Studio 2017 Developer Command Prompt v15.7.4 ** Copyright (c) 2017 Microsoft Corporation ********************************************************************** [vcvarsall.bat] Environment initialized for: 'x86' C:\Qt\Qt5.11.1\5.11.1\Src> 7. Не закрывая консоль, запускаем строку конфигурирования: configure -prefix %QT_INSTALL% -I "C:\openssl-1.0.2o\dist\include" -L "C:\openssl-1.0.2o\dist\lib" -I "C:\icu\dist\include" -L "C:\icu\dist\lib" -platform win32-msvc -mp -debug-and-release -webengine-proprietary-codecs -sse2 -openssl -icu -opensource -qt-sqlite -plugin-sql-odbc -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -make libs -make tools -opengl dynamic Спустя немного времени на предложение о лицензионном соглашении просто нажимаем y и Enter. Дожидаемся окончания конфигурирования. 8. Снова, не закрывая консоли, вводим последовательно: nmake nmake install На самом деле вроде как запускали в многопоточном режиме(set cl=/MP и -mp), однако nmake довольно долго работает. На моем ноутбуке i5-2430M/12Gb/SVGA GF GT555M, этот процесс занял 13 часов 35минут. Можно сэкономить примерно полтора часа. Если использовать jom. В этом случае просто в путях пропишите C:\jom_1_1_2; (если конечно распаковали его в эту папку) и вам будет предложено воспользоваться: jom jom install 9. После сборки копируем в папку C:\msvc2017_32\bin файлы: C:\icu\dist\lib\icudt53.dll C:\icu\dist\lib\icuin53.dll C:\icu\dist\lib\icuuc53.dll Туда же копируем файлы: C:\Qt\Qt5.11.1\5.11.1\Src\qtbase\bin\qt.conf C:\Qt\Qt5.11.1\5.11.1\Src\qtbase\bin\fixqt4headers.pl 10. Поскольку в этот раз облегчили себе задачу, собирать дополнительно документацию и примеры не придется. Они установилены при инсталляции Qt5.11.1. Теперь у нас наряду со сборками: mingw53_32 msvc2017_64 Имеется сборка msvc2017_32. Прописываем новый комплект в Qt, не забывая, что сборка находится в C:\msvc2017_32. 11. Казалось бы радоваться. Однако наша задача заключалась в получении сборки, которая запускала бы все стандартные примеры из комплекта Qt. Так вот примеры, использующие WebEngine в режиме отладки, вылетают с сообщением: Программа неожиданно завершилась. А в режиме релиза запускается окно, но контента нет, как например в случае со сборкой msvc2017_64, полученной при инсталляции. Остальные примеры, вроде как запускаются. Я прошел семь кругов ада, испробовав все и потратив пару недель именно на то, что бы установить правильно WebEngine, бесконечно экспериментируя и долго ожидая окончания компиляции, что бы увидеть, что снова все напрасно. Например, сейчас снова пытаюсь собрать. На этот раз, при установке Visual Studio Community 2017, не ставил Windows 8.1 SDK... и VC++ 2015.3 v14.00(140)... Может они конфликтуют с новыми пакетами. Оставлял их, что бы работать с пакетами msvc2015_32, msvc2015_64 и дособирать их с WebEngine. Конфигурации msvc2015_32, msvc2015_64 имеются в установщике Qt, но собираются без WebEngine. Вы моя последняя надежда Гуру. Что не так сделано? Компилируется вроде нормально, но если это о чем то серьезном говорит, то при компиляции были такие сообщения: ...QtWebEngineCore_cc.pdb" cl: Command line warning D9025 : overriding '/W3' with '/W4' cl: Command line warning D9025 : overriding '/02' with '/01' cl: Command line warning D9025 : overriding '/01' with '/02' cl: Command line warning D9025 : overriding '/W4' with '/W3' Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Июль 22, 2018, 10:39 Снова наэкспериментировался, но основная проблема не решена.
Попутно, все таки, разобрался почему не компилировалась документация. Но это малоинтересный вопрос. Обобщу реальную проблему: Ноутбук i5-2430M/12Gb/SVGA GF GT555M Windows 7-64 Visual Studio Community 2017 v15.7.5 qt-opensource-windows-x86-5.11.1.exe (2.39GB) С включенной галочкой Sources. С этими ресурсами и пытаюсь получить 32битную сборку: MSVC 2017 32bit. Сборка проходит вполне без проблем, библиотеки Qt webengine, присутствуют. Примеры собираются и те которые работают с webengine. Но есть пара нерешенных вопросов: 1. Проблема не такая значительная и вероятно решение ее не так сложно. Не тратил на не время. В примерах с webengine, в Release режиме не отображается внутренний контент. Причем как в поставляемом комплекте MSVC 2017 64bit, так и в сборке MSVC 2017 32bit. Поставляемая сборка MSVC 2017 64bit в режиме Debug, внутренний контент отображает. Внешний контент отображается в обоих сборках. 2. Вторая проблема посерьезнее. Примеры с webengine работают только в режиме Release. А вот в режиме Debug примеры вылетают с сообщением: The program has unexpectedly finished. Проблема только с самосборкой, в поставлемой сборке MSVC 2017 64bit все в порядке. Вдоволь наэкспериментировался. Однако безрезультатно. В сети нашел подобную проблему и пытался применить решение, путем копирования в бинарники файла ucrtbased.dll. Но это не помогло. Вроде это работало вплоть до Qt 5.9. Начиная с Qt 5.10 этот баг имеет место быть и опубликован как нерешенный. Это как игра в кошки мышки с ms. На сколько понимаю поставляемая сборка компилировалась Visual Studio 2017 v15.1. Которую так же пытался использовать, однако с ней библиотека Qt webengine вовсе не собралась, хотя для перестраховки полностью переустановил систему. Возможно это решило бы проблему, будь я чуточку везучей :). В оригинале с сайта Visual Studio 2017 v15.1 уже не скачать, поэтому скачал просто с сести. Что еще пытался сделать? В принципе работал методом проб и ошибок. Например, icu53.1 компилируется Visual Studio 2017 с ошибками. В принципе нужные библиотеки собираются их и использовал. Qt webengine с ними собирается, но проблема не решена. Компелировал icu62.1 без проблем, но результат тот же. Хорошо, просто скачал ближайший готовый комплект скомпелированный с помощью Visual Studio 2017 - icu58.2. Результат тот же. Причем для верности скомпилировал 3 комплекта QT используя: jom - 11.56 nmake c mp - 13.52 nmake - 15.28 Мало ли, авось что и сработает :). Не помогло. Рядом время затраченное на сборку. На всякий случай компелировал дебажные варианты библиотек icu. Все это без толку. Только не подумайте, что все это время я только сидел и ждал время окончания. Есть чем заняться. Просто уже привык и знаю когда примерно должно все это безобразие закончиться и после каких финальных строк осталось подождать не долго и зафиксировать точное время :). Пока моя фантазия иссякла. Есть ли те кто все-таки собирал удачно Qt 5.11 c webengine? Или это абсолютная проблема для всех? Мой перфекционизм меня погубит, но неужели больше никто не экспермиентировал? Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: kambala от Июль 22, 2018, 12:29 абсолютным новичкам надо ставить готовые комплекты и не мучаться, а не сидеть и часами компилировать библиотеки :)
Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: ViTech от Июль 22, 2018, 12:44 Есть ли те кто все-таки собирал удачно Qt 5.11 c webengine? Или это абсолютная проблема для всех? Мой перфекционизм меня погубит, но неужели больше никто не экспермиентировал? Тех, кто сам собирает Qt - не много, из них собирают все библиотеки (обычно убирают WebEngine, Multimedia и т.п.) ещё меньше, а перфекционистов среди них совсем мало :). А вот в режиме Debug примеры вылетают с сообщением: The program has unexpectedly finished. Проблема только с самосборкой, в поставлемой сборке MSVC 2017 64bit все в порядке. Пробовали разобраться в причинах вылета? Может в системе не все библиотеки есть именно для Debug сборки или они не подходящей версии? Как минимум Dependency Walker`ом посмотреть. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Июль 22, 2018, 12:53 абсолютным новичкам надо ставить готовые комплекты и не мучиться, а не сидеть и часами компилировать библиотеки :) Однако я не абсолютный новичок. Но поздновато взялся за программирование и делаю это набегами. Каюсь, это мой третий набег. И участвую в довольно известном совместном проекте. Но мне надоело быть на побегушках, поскольку взялся за программирование поздно, мои работы отбираются как конфеты у ребенка, приводят их в порядок и подписываются свои именем. Мне уже сложно выработать культуру кода, по той же причине - поздновато взялся за это дело. Но я хочу попробовать создать с нуля свой проект в этот раз.Как раз и взял готовую сборку (офлайн инсталлятор). Но ведь сказано было выше, Qt 5.11 не содержит ни одной 32х битной сборки поддерживающей Qt webengine. Пытаюсь укомплектовать. Сборку провожу довольно удачно. Хоть и поверхностно, но полагаю несколько более глубже освоил инструменты сборки, чем начинающие. Кроме того пока экспериментирую, подтягиваю знания, вспоминаю приемы. Года два не брался за "перо". Все, что сейчас добиваюсь, собрать систему максимально укомплектованную для учебы, экспериментов и то что может понадобиться в проекте: работа с мультимедиа и текстом. Вот поэтому и обращаюсь за помощью. Тем более если Гуру не могут ни собрать ни посоветовать, причем тут начинающие? Если все таки удастся скомпилировать абсолютную сбоку, это пригодится не только новичкам. Мне кажется, то что я описал в чем то лучше известных описаний сборок Qt и тем более если довести дело до конца, причесать и чуть более подробно описать последовательность (некоторые крутые повороты просто опустил, что бы не было слишком длинно), можно закрепить для новичков. Кстати, помню с вашей помощью и других когда то упорно тут отрабатывал пару кодов. И это стало довольно популярно или модно не только на форуме :). Мы не скрывали исходники. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Июль 22, 2018, 13:04 Пробовали разобраться в причинах вылета? Может в системе не все библиотеки есть именно для Debug сборки или они не подходящей версии? Как минимум Dependency Walker`ом посмотреть. Пробовал на сколько понимаю. Зашел в каталог сборки Debug и скопировал все библиотенки которые были запрошены + на всякий случай и ucrtbased.dll. Библиотеки программа перестла спрашивать, но при этом вообще не проявляет признаков жизни.Опять же методом проб и ошибок хотел подсовывать, переименовывая библиотеки с релиза... До этого дело не дошло. Библиотеки видимо все имеются. Во всяком случае копировал теже библиотеки в релиз каталог (естественно релизные версии) и все запускается. На счет версий думал над этим, но я не знаю как проверить. Видимо придется освоить, как это делается. Не с знаком с инструментом Dependency Walker. А вообще баг описан здесь https://bugreports.qt.io/browse/QTBUG-68509 Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: ViTech от Июль 22, 2018, 13:24 Пробовал на сколько понимаю. Зашел в каталог сборки Debug и скопировал все библиотенки которые были запрошены + на всякий случай и ucrtbased.dll. Библиотеки программа перестла спрашивать, но при этом вообще не проявляет признаков жизни. Нужно смотреть, какие библиотеки использовались при сборке (Build Environment) и при запуске (Run Environment). Они могут называться одинаково, но быть разных версий или собраны компиляторами разных версий, что тоже может повлиять на работоспособность.Опять же методом проб и ошибок хотел подсовывать, переименовывая библиотеки с релиза... Это плохая идея.Библиотеки видимо все имеются. Во всяком случае копировал теже библиотеки в релиз каталог (естественно релизные версии) и все запускается. Значит придётся освоить и познакомиться :).На счет версий думал над этим, но я не знаю как проверить. Видимо придется освоить, как это делается. Не с знаком с инструментом Dependency Walker. А вообще баг описан здесь https://bugreports.qt.io/browse/QTBUG-68509 Может и этот баг влияет, не исключено.Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Июль 22, 2018, 13:36 Спасибо за советы. Буду пробовать разбираться с версиями.
Или в конце концов просто подтяну 32х битную сборку от 15й версии VS с инсталлятора Qt5.10. Там работает Qt webengine. Или дебажить, в случае необходимости, с msvc64. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Июль 22, 2018, 16:43 Не разбирался как работать с Dependency Walker 2.2.
Все что могу пока посмотреть, ничего не понимая где рыть (слева релиз, справа дебаг): (https://c.radikal.ru/c10/1807/5d/186d155d8871t.jpg) (https://c.radikal.ru/c10/1807/5d/186d155d8871.jpg) И все что может меня интуитивно смущать это 140, а не 141. С другой стороны картина ниже таже. Такова картина от работающей официальной 64х битной сборки: (https://d.radikal.ru/d16/1807/4f/936175f04fbat.jpg) (https://d.radikal.ru/d16/1807/4f/936175f04fba.jpg) Конечно разницу вижу, но только визуально :). Вроде нашел где искать версии библиотек, только как то не особо легче. Вот, что то интуитивно подозрительное в дебажной версии (присутствие обоих версий библиотек): (https://b.radikal.ru/b35/1807/0a/9cdcdccaf51bt.jpg) (https://b.radikal.ru/b35/1807/0a/9cdcdccaf51b.jpg) Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Igors от Июль 23, 2018, 07:06 Любовь к процессу "сборки" - извращение. И умение "собирать" пусть полезное, а иногда и необходимое - но не имеет к программированию никакого отношения.
Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: ssoft от Июль 23, 2018, 07:30 Не разбирался как работать с Dependency Walker 2.2. ... Так нужно разбираться, читать мануалы и т.п. Walker ясно дает понять, что 64 битные библиотеки не подходят для 32 битной сборки. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Июль 23, 2018, 08:41 На ночь глядя мне было не до мануалов.
На сколько понял нет необходимости обращать внимание на эту ошибку. Она выдается по причине того, что запускал 64х битную версию Walker. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: kambala от Июль 24, 2018, 22:25 Или в конце концов просто подтяну 32х битную сборку от 15й версии VS с инсталлятора Qt5.10. Там работает Qt webengine. это сразу и надо было делать :) и не тратить кучу времени, которое могло быть потрачено на повышение практики/культуры программирования, раз ты поздновато взялся за программирование.Или дебажить, в случае необходимости, с msvc64. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: ViTech от Июль 25, 2018, 11:37 это сразу и надо было делать :) и не тратить кучу времени, которое могло быть потрачено на повышение практики/культуры программирования, раз ты поздновато взялся за программирование. Не всё так однозначно. Учитывая сколько всего напихали в последние версии Qt (особенно 5.11), умение самому собирать только нужные части может вновь оказаться полезным :). Готовые сборки из инсталлятора слишком жирные получаются, вряд ли кому нужен весь тот набор библиотек одновременно. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Июль 27, 2018, 06:25 это сразу и надо было делать :) и не тратить кучу времени, которое могло быть потрачено на повышение практики/культуры программирования, раз ты поздновато взялся за программирование. Все таки наверное я не одинок в своем стремлении, но большинство предпочитают наблюдать чем дело кончится.Чувствую себя более уютно, когда все настроено и не приходится отвлекаться на переделки и посторонние разборки, во время рабочего процесса. Хочется настроить и разрабатывать сам код, погрузившись в творческий процесс. Есть на что потратить время при очередной компиляции Qt. Кроме того возможно тут есть некоторые, попутно исследуемые, вещи которые будут полезны непосредственно на этапе разработки. Есть надежда, что в этот раз все получится, жду окончания компиляции. Если нет, то не за горами Qt 5.11.2. Вроде как на Август намечен выпуск. Возможно там исправят баг. Повторю, занялся я сборкой по двум причинам: - Нужен собранный Qt для поддержки старого совместно проекта. Привычка собирать Qt идет от старого проекта, через который я и приобщился к C/C++/Qt. - В Qt 5.11 нет ни одной 32х битной сборки с поддержкой Qt webengine. Ни msvc2015, ни msvc2017. Собственно вообще нет ни одной 32х битной сборки с поддержкой любого ВебДвижка. Это еще та проблема, поскольку мне придется пытаться прикрутить QWebKit к MinGW в Qt 5.11, для поддержки старого проекта. На сколько знаю официально поддержка существует до Qt 5.9. Но не хочется огород городить. По поводу культуры программирования, возможно мы говорим о разном. Но по мне это как почерк, если сразу не поставил, то исправить в последствии его будет весьма не просто. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Июль 28, 2018, 07:45 В общем все тщетно.
Компилировал с: - MSVC 2017v5.1(5.2) c Windows 10 SDK (ver. 10.0.15063.468). Qt WebEngine вовсе не собирается, хотя в Qt 5.11 Tools and Versions указан именно MSVC 2017v5.1. - MSVC 2017v5.6 c Windows 10 SDK (ver. 10.0.16299.91). Сборка происходит, но проблемы теже, что и при компиляции с новейшей версией MSVC 2017v5.7.5 c Windows 10 SDK (ver. 10.0.17134.0) Пробовал MSVC 2017v5.6 - vcvarsall.bat с ключом amd64_x86. Бесполезно. Кстати вопрос, а чем собственно он отличается и стоит ли его использовать на win64? Время компиляции фактически одно и тоже, с точностью до минуты. На несколько файлов в этой сборке оказалось больше. Очень надеялся, что поможет. Вероятно сборку я произвожу верно, Qt 5.9.6 (с MSVC 2017v5.2 и MSVC 2017v5.6) собирается и работает без проблем по предложенной схеме. Что уже радует. Все таки научился собирать все стандартные модули и docs для Qt5.11. Если помним была проблема - qdoc.exe не было в исходниках. Разобрался, что было не так. Однако пока не разобрался как собирать сами доки в указанную папку. Собственно, не занимался вплотную этим вопросом. Сейчас делаю контрольную компиляцию, чтобы собрать и проверить ранее не собиравшийся модуль vulkan. Единственный модуль который не пробовал, но который при установке с инсталлятора ставится. Будет потеха если после этого все заведется (в зависимостях его нет). :) Собираю, в этот раз, не в стороннюю папку, а в папку предложенную самим Qt. Что еще необычного. Папка с исходниками Qt 5.9.6 разрастается примерно до 20 с лишним Gb, папка с исходниками Qt 5.11.1 практически в три раза больше и имет объем больше 60Gb. Довольно странно, но надо учитывать это если решите сами собирать Qt. Qt 5.11 не имеет возможности компиляции полноценной 32х битной сборки с Qt WebEngine. Штатная 64х битная так же работает не корректно, не отображает встроенный контент в режиме релиз (примеры с внешними ссылками работают корректно). Т.е. окно запускается, контента нет. В дебаг режиме все работает корректно. Это при том, что Qt 5.9.6 собирается без всяких проблем и работает корректно как в дебаг, так и в релиз режимах. Придется ждать выхода Qt 5.11.2, который вроде намечен на август-сентябрь. А там Qt 5.12 не за горами. Ни чего не поделать, буду пользоваться тем, что есть. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: sergek от Июль 28, 2018, 11:29 Коллега,
qt всего лишь инструмент. Инструмент надо знать настолько, насколько он необходим для для реализации ваших идей. Даже если вы детально его изучите изнутри, вы всего лишь будете знать, как это делают другие. Как это вам поможет избежать того, что " мои работы отбираются как конфеты у ребенка, приводят их в порядок и подписываются свои именем"? Вот если появится задача, решение для которой для вас неочевидно, не грех посмотреть, как это делают другие. Прислушайтесь все ж к советам, которые вам здесь дают, не тратьте время. Работайте над самой задачей. Извините за совет;) Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Июль 28, 2018, 13:18 По поводу чужого кода, все так учимся и перенимаем чужой опыт, как же без этого. Но имел ввиду несколько иное. А по существу вопроса, подобного рода топики не место для голосования, надо не надо. Опыт однозначно пригодится другим, хотя бы потому, что не будут делать того, что делаю я. Но есть и другие, которым это пригодится с практической точки зрения. Трачу время на это столько сколько считаю нужным. Работаю на декстопе, экспериментирую на ноубуке. Надеялся получить более полезные советы или хотя бы узнать, что у кого-то Qt 5.11 работает должным образом в полном объеме. Я не мог ожидать, что этот довольно серьезный баг мог быть в официальном релизе. Тренируясь со сборками я видел много вопросов почему нет и мольб сделать в инсталляторе нормальный msvc2017_32. На что один ответ - вам надо, можете сами скомпилировать. Ну вот и пытаюсь. Что тут глупого? Только то, что я якобы потерял месяц? Ну комуто сэкономил и не только тем кому нужен Qt WebEngine, а просто тем кому нужна просто нормальная 32х битная сборка msvc2017. И если вы думаете, что это тривиальная задача, то могу уверить, что понадобилось бы потратить не мало времени даже на это. Я просто не стал заострять внимание на то с чем пришлось столкнуться и дал сразу готовое решение.
Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Авварон от Июль 28, 2018, 14:08 Ладно, спущусь со своей колокольни.
Почему вы компилируете сорцы из инстоллера? Они пропатчены неким образом и могут создавать дополнительные проблемы. Они нужны скорее для отладки, чем для компиляции (нет, в теории их можно собрать и даже мб это должно быть проще (в теории) - там вроде бы меньше зависимостей). Берете, качаете qtbase (https://github.com/qt/qtbase) из гитхаба. Собираете. Если собралсь, качаете корневой репо (https://github.com/qt/qt5) с остальными модулями. Модули можно выкачивать по одному. Собираете. Если вам нужен webengine, ну скачайте только его и зависимости, сэкономите кучу времени на сборке. Целиком я не собирал Qt уже несколько лет, но вот на этой неделе собирал qtbase на линуксе - пришлось поправить сорцы в одном месте ручками (какая-то проблема с ifdefa'ми). Ничего страшного в этом нет. Если это реальный косяк, его можно залить в геррит (http://codereview.qt-project.org) и все вам будут благодарны. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Июль 28, 2018, 14:34 На самом деле компилировал сырцы не только с инсталлера. Например в предыдущих попытка брал их от сюда http://download.qt.io/official_releases/qt/5.11/5.11.1/single/
Спасибо за совет, возьму с гитхаба, может там уже пофиксили баг. По поводу заливки, так вроде баг извсетен https://bugreports.qt.io/browse/QTBUG-68509 Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Авварон от Июль 28, 2018, 15:08 На самом деле компилировал сырцы не только с инсталлера. Например в предыдущих попытка брал их от сюда http://download.qt.io/official_releases/qt/5.11/5.11.1/single/ Это те же сорцы что в инсталляторе. Я точно не помню, чем они отличаются, но для их соборки не надо было ставить что-то типа руби или какую-то другую дичь (а для сорцов из геррита/гитхаба - надо). Но это было 5 лет назад и мб всё поменялось. Энивей, в CI у них используются сорцы с геррита. Если у вас есть краш в _дебаге_ то поправить его проще простого - максимум день на курение исходников в сложном случае. Часто там достаточно тупые ошибки. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Июль 29, 2018, 14:08 Скачал:
https://github.com/qt/qtbase https://github.com/qt/qt5 https://github.com/qt/qtwebengine И просто заменил эти файлы в исходниках. Скомпилировал. Пробовал и новый Qt creator 4.7.0. Результат тот же. Все это бесполезно. Ковырять же сами исходники это точно не по мне. Придется пользоваться тем, что есть и ждать когда, либо разъяснят как компилировать, либо исправят баг. То что это баг, думаю сомневаться не приходится. Просто научился компилировать модуль vulkan, хотя вряд ли он мне когда либо понадобится, разве что ради спортивного интереса скомпилировал и возможно кому то это пригодится. Qt 5.10.1 ведет себя аналогично Qt 5.11.1. Ближайший нормально компилируемый - Qt 5.9.6. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Август 05, 2018, 06:16 Стоит ли описать весь процесс сборки, со всеми выкладками? Или хватит того, что есть, хотя есть неточности и опускание подробностей. Или это вовсе не интересно?
Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Igors от Август 06, 2018, 05:41 Стоит ли описать весь процесс сборки, со всеми выкладками? Или хватит того, что есть, хотя есть неточности и опускание подробностей. Или это вовсе не интересно? Ну как "неинтересно"... Необходимость возникает редко, может и раз в неск лет, поэтому рассчитывать на энтузиазм не следует. Но с др стороны когда припечет и вот "надо" - ой хреново. Пару дней уходит только чтобы принюхаться к командной строке, ведь времени прошло много и все начисто забыл. Случалось находил инструкции и искренне благодарен этим людям.Поэтому хорошо бы поместить Ваши наработки в блог, а "интересно" будет (куда денется) Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Авварон от Август 06, 2018, 17:00 Стоит ли описать весь процесс сборки, со всеми выкладками? Или хватит того, что есть, хотя есть неточности и опускание подробностей. Или это вовсе не интересно? Это имеет смысл в виде либо подробной инструкции (но как можно меньше буков), либо в виде блога "вот я взял инструкцию с сайта Qt, а там написана полная херня потому что... и далее рассказ об ошибках и как обходили". Я не особо вчитывался в топик, но я так понял, что проблема у вас с работоспособностью _кода_ а не со сборкой. Краши в Qt нередкость, да, но к процессу сборки отношения имеют мало. Я бы вот послушал, что мне надо сделать, чтобы пощупать вулкан (я в этом чайник и хз, идёт он в готовой поставке или не идёт, надо ли собирать, если надо, то как). Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Август 06, 2018, 18:06 Это имеет смысл в виде либо подробной инструкции (но как можно меньше буков), либо в виде блога "вот я взял инструкцию с сайта Qt, а там написана полная херня потому что... и далее рассказ об ошибках и как обходили". Целью было: собрать самую свежую сборку, что бы научиться собирать все стандартные библиотеки идущие в штатном инсталляторе и работали все примеры. Воспользовался инсталлятром. Однако единственная предлагаемая сборка которая поддерживает все - это msvc2017_64. Собственно остальные просто не работают с Qt WebEngine. Не говоря уж о том, что от QWebKit вовсе отказались. Так, что Qt5.11.1 выглядит как то ущербно, особенно с MinGW.Я не особо вчитывался в топик, но я так понял, что проблема у вас с работоспособностью _кода_ а не со сборкой. Краши в Qt нередкость, да, но к процессу сборки отношения имеют мало. Я бы вот послушал, что мне надо сделать, чтобы пощупать вулкан (я в этом чайник и хз, идёт он в готовой поставке или не идёт, надо ли собирать, если надо, то как). Выходит, что идеальный комплект в моем случае должен содержать: msvc2017_64 + WebEngine msvc2017_32 + WebEngine MinGW + QWebKit И что нибудь для эмуляции андроидов. msvc2017_32 + WebEngine - подобного стандартная поставка не имеет. Поэтому решил попробовать собрать. И собираю как я понял все правильно. Кривой Qt5.11.1, собственно кривость начинается с Qt5.10. При самостоятельной сборке msvc2017_32 + WebEngine, примеры с WebEngine, если выбираю меню Дебаг, завершаются с сообщением Программа неожиданно завершилась. Собственно и Релиз не совсем корректно отрабатывает, в частности локальный контент примеров в окне браузера не появляется. Причем этот баг проявляет себя и в штатной сборке msvc2017_64 + WebEngine. Внешние интернет ссылки работают нормально. Qt5.9.6 + msvc2017_32 + WebEngine собирается корректно и работают все примеры как в Дебаг, так и в Релиз. Не жалею, что потратил время на бесконечные экспермиенты. В сознании хоть какой то порядок навелся. Иначе ощущение, что собирал все как юзер, кторый всегда делает все по листочку. Да и все таки есть полезные (думаю всем или как минимум начинающим, что бы не метались туда-сюда в поисках оптимальности) наблюдения. По поводу Vulkan. Инсталлятор его ставит, на сколько понял. Во всяком случае в штатной библиотеке он есть. Примеры не проверял. А в ручную собирается довольно легко. Для Windows достаточно скачать и установить Vulkan SDK (LunarG SDK), полагаю это в любом случае надо ставить если нужен Vulkan. При сборке Qt все подхватится и соберется автоматически. Vulkan SDK именно установить с инсталлятора, например то что поставил видеодрайвер я удалял, поскольку переменные окружения не были прописаны, да и версия была устаревшей. Попробую описать процесс без лишних букв. А полезные подробности отдельным топиком. Кстати и с готовым Qt инсталлятором не так все просто оказалось для новичка, наверное и не только. В описаниях и видеоуроках достаточно недоговоренностей, что бы новичек заблудился на пару дней. Для начала пришлось разбираться, почему Qt не видит MCVS компилятор, при его якобы установленном, затем почему не находит те или иные файлы... Это касается нового mcvs2017. Ранее я работал только с MinGW. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Август 09, 2018, 06:15 Сборка комплекта MSVC2017 32Bit для Qt 5.11.1 в среде Windows 7-64.
Задача: добиться сборки всех компонентов, идущих со штатным комплектом MSVC2017 64Bit и работоспособности всех примеров. Сборка производилась в системе: Ноутбук i5-2430M/12Gb/SVGA Intel HD Graphics 3000 + GF GT555M Windows 7-64 Обновления отключены, однако установлен офлайн пакет обновлений UpdatePack7R2-18.6.15.exe и все свежие драйвера. Ставить, все таки, лучше на свеж переустановленной системе. Не помешает установить нормальные средства удаления, например Revo Uninstaller Pro, на случай зачистки после экспериментов. А после удаления проверить все папки и удалить, что найдете подозрительного. Это не сложно сделать, открыв показ скрытых папок, ориентируясь на имена папок, время их создания и стандартные места где они могли бы скрываться. И для "наверняка", прогнать CCleaner. Здесь Qt 5.11 Tools and Versions (http://wiki.qt.io/Qt_5.11_Tools_and_Versions) определяем использовавшиеся версии средств. Более свежие версии ставим только если от этого действительно ожидается полезный эффект. Основные правила при определении компонентов в каталоги: не увлекаемся длинными именами, не используем пробелы и кириллицу. Стоит так же заметить, что никаких переменных окружения вручную не ставил для сборки Qt 5.11.1 + MSVC2017. Самые свежие средства компиляции Visual Studio 2017 наиболее быстрые. 1. Предварительно загружаем дистрибутивы и средства. 1.1 Основные пакеты: Build Tools for Visual Studio 2017 (текущая версия v15.7.6) Скачать онлайн установщик vs_BuildTools.exe (https://visualstudio.microsoft.com/downloads/) (ищем внизу). Можно предварительно скачать весь дистрибутив (13,1GB), запустив cmd.exe и дав команду: C:\vs_BuildTools.exe --layout D:\VSBT2017 --lang en-US ru-RU При необходимости, можно подобное сделать для Visual Studio 2017 Community (38.1GB), используя vs_Community.exe (https://visualstudio.microsoft.com/downloads/): C:\vs_Community.exe --layout D:\MSVC2017 --lang en-US ru-RU Windows 10 SDK (Windows Kits текущая версия v10.0.17134.12) Скачать онлайн установщик winsdksetup.exe (https://developer.microsoft.com/ru-ru/windows/downloads/windows-10-sdk). Можно предварительно скачать дистрибутив, запустив установщик и отметив все (794MB) или только debugging tools for windows (206MB). Отмечаем, что хотим только скачать. Qt 5.11.1 (текущая версия) Онлайн установщик qt-unified-windows-x86-3.0.5-online.exe (https://www.qt.io/download) Офлайн установщик qt-opensource-windows-x86-5.11.1.exe (http://download.qt.io/official_releases/qt/) (2.39GB) 1.2 Дополнительные инструменты: jom_1_1_2.zip (http://download.qt.io/official_releases/jom/) (не обязательно, но эта утилита многопроцессорной компиляции, весьма эффективна) pthreads-w32-2-9-1-release.zip (https://sourceforge.net/projects/pthreads4w/files/) sqlite-dll-win32-x86-3240000.zip (https://www.sqlite.org/download.html) LLVM-6.0.0-win32.exe (http://releases.llvm.org/download.html) (начиная с QT 5.11 требуется для сборки QDoc, хотя собирать документацию Qt нам не придется) python-2.7.15.msi (https://www.python.org/downloads/) rubyinstaller-devkit-2.4.4-2-x86.exe (https://rubyinstaller.org/downloads/) DXSDK_Jun10.exe (http://www.microsoft.com/en-us/download/details.aspx?id=6812) (при установке ставим галочку: No, I would not like to participate) strawberry-perl-5.26.2.1-32bit.msi (http://strawberryperl.com/releases.html) VulkanSDK-1.0.51.0-Installer.exe (https://vulkan.lunarg.com/sdk/home#windows)(если видеодрайвер уже установил Vulkan, то видимо стоит удалить) openssl-1.0.2o.tar (https://www.openssl.org/source/) (исходники для сборки) icu-53.1-vs2013.7z (https://www.npcglib.org/~stathis/blog/precompiled-icu-past/) (пред-компилированная версия, насколько известно именно эта версия использовалась при сборке Qt5.11.1) Если желаете самостоятельно собрать ICU, понадобятся: ICU (http://download.icu-project.org/files/icu4c/) (исходники для сборки) Cygwin (http://www.cygwin.com/install.html) (онлайн установщик setup-x86.exe). 2. Установка средств компиляции от Visual Studio 2017. 2.1 Установка BuildTools: Запускаем онлайн установщик vs_BuildTools.exe (vs_Community.exe) либо офлайн vs_setap.exe. Отмечаем по минимуму (галочку русской локали лучше снимите, если боитесь проблем в Qt консоли): (https://c.radikal.ru/c20/1808/37/d38d5e6f2baet.jpg) (https://c.radikal.ru/c20/1808/37/d38d5e6f2bae.png) (https://d.radikal.ru/d28/1808/2d/81a22ef4c4f1t.jpg) (https://d.radikal.ru/d28/1808/2d/81a22ef4c4f1.png) Второй скриншот на случай если понадобились комплекты MSVC2015. Понадобившиеся компоненты, всегда можно будет доустановить. 2.2 Устанавливаем Пакет Windows 10 SDK. Запустить winsdksetup.exe, отметить и установить: (https://b.radikal.ru/b31/1808/7d/b4e72c9fe0aft.jpg) (https://b.radikal.ru/b31/1808/7d/b4e72c9fe0af.png) Если уже скачали, заходим в папку загрузки и устанавливаем: X64 Debuggers And Tools-x64_en-us X86 Debuggers And Tools-x86_en-us 3. Сборка дополнительного инструментария. 3.1 Собираем в каталоге C:\DEV: Эти компоненты просто распаковываем в каталоги: C:\DEV\jom_1_1_2 C:\DEV\pthreads C:\DEV\sqlite При установке этих компонентов не забываем проверить галочку - Прописаться в путях: C:\DEV\LLVM C:\DEV\Python27 C:\DEV\Ruby24 Эти компоненты сами пропишут свои переменные окружения: C:\DEV\DXSDK C:\DEV\Strawberry C:\DEV\VulkanSDK 3.2 Сборка OpenSSL: Распаковываем: C:\DEV\openssl-1.0.2o Запускаем консоль MSVC2017, создав и запустив командный файл msbt32.cmd с содержимым: Код: CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x86 cd C:\DEV\openssl-1.0.2o perl Configure VC-WIN32 no-asm --prefix=C:\DEV\openssl-1.0.2o\dist no-idea no-mdc2 no-rc5 ms\do_ms nmake -f ms\ntdll.mak nmake -f ms\ntdll.mak install 3.3 Сборка ICU: Можно, просто, разархивировать содержимое каталога (внимательно от куда и куда) icu-53.1-vs2013 архива icu-53.1-vs2013.7z в каталог: C:\DEV\icu\dist И сразу перейти к разделу 4. Сборка комплекта Qt - MSVC2017 32Bit для Qt5.11.1. ICU можно собрать самостоятельно, но icu-53.1 собирается кривовато средствами msvc2017, с ошибками, хотя вроде работает. Для сборки используется Cygwin. Запускаем онлайн установщик setup-x86.exe. Устанавливаем в каталог: C:\DEV\cygwin Необходимы только три пакета: Devel -> make: The GNU version of the 'make' utility Utils -> dos2unix: Line Break Convesion Devel -> binutils: GNU assembler, linker, and similar utilities Делаем это следующим образом, в строке поиска последовательно прописываем: make, dos2unix, binutils и отмечаем необходимые компоненты: (https://b.radikal.ru/b12/1808/1c/f17b4f8a5c29t.jpg) (https://b.radikal.ru/b12/1808/1c/f17b4f8a5c29.png) (https://c.radikal.ru/c14/1808/a8/0b521abd2c60t.jpg) (https://c.radikal.ru/c14/1808/a8/0b521abd2c60.png) (https://d.radikal.ru/d30/1808/7d/14e3a2205b52t.jpg) (https://d.radikal.ru/d30/1808/7d/14e3a2205b52.png) После установки появится папка с этими компонентами, с которой, если понадобится, можно будет переустановить Cygwin в режиме офлайн. Берем более свежую версию icu4c-62_1-src.zip и распаковываем: C:\DEV\icu Запускаем msbt32.cmd и последовательно вводим или копипастим команды: set PATH=%PATH%;C:\DEV\cygwin\bin cd C:\DEV\icu\source dos2unix * dos2unix -f configure dos2unix * (даем эту команду если при конфигурировании выскакивает ошибка '\r': command not found) bash runConfigureICU Cygwin/MSVC -prefix=/cygdrive/c/DEV/icu/dist make make install 4. Сборка комплекта Qt - MSVC2017 32Bit для Qt 5.11.1. 4.1 Для начала установим Qt 5.11.1 с штатными комплектами MSVC2017 64bit и MinGW 32bit: Запускаем либо онлайн установщик qt-unified-windows-x86-3.0.5-online.exe, либо офлайн qt-opensource-windows-x86-5.11.1.exe и ставим в папку по умолчанию C:\Qt\Qt5.11.1 следующие компоненты: (https://d.radikal.ru/d02/1808/a7/84dd874c4a1et.jpg) (https://d.radikal.ru/d02/1808/a7/84dd874c4a1e.png) Заметьте, что отмечаем Sources которые понадобятся, что бы скомпилировать свой вариант MSVC2017 32Bit. После установки в настройках Qt Creator указываем правильный компилятор для MSVC2017 64bit: (https://c.radikal.ru/c36/1808/ed/a7dd088537c0t.jpg) (https://c.radikal.ru/c36/1808/ed/a7dd088537c0.png) Исходники (Sources) окажутся в каталоге C:\Qt\Qt5.11.1\5.11.1\Src. Копируем в каталог C:\Qt\Qt5.11.1\5.11.1\Src\qtbase\bin файлы библиотек (внимательно, не перепутав с дебажными версиями): C:\DEV\icu\dist\bin\icudt53.dll C:\DEV\icu\dist\bin\icuin53.dll C:\DEV\icu\dist\bin\icuuc53.dll C:\DEV\openssl-1.0.2o\dist\bin\libeay32.dll C:\DEV\openssl-1.0.2o\dist\bin\ssleay32.dll C:\DEV\sqlite\sqlite3.dll В каталог C:\Qt\Qt5.11.1\5.11.1\Src\qtbase\lib файлы: C:\DEV\icu\dist\lib\icudt.lib C:\DEV\icu\dist\lib\icuin.lib C:\DEV\icu\dist\lib\icuuc.lib C:\DEV\openssl-1.0.2o\dist\lib\libeay32.lib C:\DEV\openssl-1.0.2o\dist\lib\ssleay32.lib В каталог C:\Qt\Qt5.11.1\5.11.1\Src\qtbase\include копируем папки с файлами заголовков ICU и OpenSSL: C:\DEV\icu\dist\include\layout C:\DEV\icu\dist\include\unicode C:\DEV\openssl-1.0.2o\dist\include\openssl Можно сохранить резерв каталога Src на случай дальнейших экспериментов. 4.2 Сборка комплекта Qt - MSVC2017 32Bit в каталоге C:\msvc2017_32: При компиляции отключаем антивирус. И здесь дело не в ошибках, а в скорости компиляции. В каталоге C:\Qt\Qt5.11.1\5.11.1 создаем командный файл qt5vars.cmd с содержимым: Код: CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x86 Запускаем qt5vars.cmd и вводим или просто копипастим команду для кофигурирования: configure -prefix %QT_INSTALL% -platform win32-msvc2017 -debug-and-release -confirm-license -opensource -webengine-proprietary-codecs -sse2 -qt-sqlite -plugin-sql-odbc -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -make libs -make tools -openssl -icu -I "C:\DEV\openssl-1.0.2o\dist\include" -L "C:\DEV\openssl-1.0.2o\dist\lib" -I "C:\DEV\icu\dist\include" -L "C:\DEV\icu\dist\lib" -opengl dynamic Проверьте Configure summary и если ничего не напутали, эти компоненты должны иметь статус yes: ICU .................................... yes OpenSSL ................................ yes ANGLE ................................ yes Dynamic OpenGL ....................... yes Vulkan ................................. yes Proprietary Codecs ..................... yes Теперь можно компилировать: jom (этот этап долгий, на i5-2430M - 11ч. 53м.) jom install (минут 12) Если jom не ставили: set cl=/MP (включаем многопоточность сборки, либо ранее в configure можно было прописать ключ -mp, оба варианта действуют одинаково) nmake (на i5-2430M - 13ч. 51м. (15ч. 31м. без set cl=/MP)) nmake install После сборки копируем в каталог C:\msvc2017_32\bin файлы: C:\DEV\icu\dist\lib\icudt53.dll C:\DEV\icu\dist\lib\icuin53.dll C:\DEV\icu\dist\lib\icuuc53.dll C:\Qt\Qt5.11.1\5.11.1\Src\qtbase\bin\qt.conf После компиляции в настройках Qt Creator создаем новый комплект (имя указываем любое свое): (https://b.radikal.ru/b06/1808/7e/59bc2d145318t.jpg) (https://b.radikal.ru/b06/1808/7e/59bc2d145318.png) И указываем правильный компилятор для MSVC2017 32bit: (https://c.radikal.ru/c02/1808/f8/0b90a6f261b7t.jpg) (https://c.radikal.ru/c02/1808/f8/0b90a6f261b7.png) Комплект готов. Если необходимо собрать новый комлект то либо копируем резервную копию Src, либо перед конфигурированием запускаем команду: jom distclean (процесс довольно затяжной, к тому же у меня он закончился фатальной ошибкой, правда командой nmake distclean). Учтите, что после сборки, папка Src разрастается весьма сильно 66GB. Ее надо почистить, возможно ее можно просто удалить. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Август 09, 2018, 06:17 Здесь будут дополнительные пометки:
1. Как уже отмечал самые свежие средства Visual Studio 2017 наиболее быстрые. Причем даже в пределах одной Studio. Например, свежий компилятор от msvc2017v15.7 сработал быстрее чем компилятор msvc2017v15.6, процентов на 10. Что собственно не мало. Это сэкономило час для моей системы (Windows 7-64, Ноутбук i5-2430M/12Gb/SVGA Intel HD Graphics 3000 + GF GT555M). Включение всех процессоров в самой системе Windows 7-64, никакого эффекта не произвело. А вот работа антивируса замедлит компиляцию, полагаю здесь речь пойдет даже не о процентах. Так что отключаем. Обычно я ставлю AVGIS (ныне тот же AVAST, на сколько известно). Поговаривают, что его отключением не спасешся. Ставил на систему без антивируса. И вообще все дистрибутивы загружал на другом компьютере. Время компиляции с помощью Build Tools for Visual Studio 2017v15.7: jom - 11.53 nmake c mp (многопоточная компиляция) - 13.51 nmake - 15.31 Как видим jom рулит. Его стоит настроить в Qt Creator. Впрочем, если делали все по инструкции, то jom должен быть уже настроен для MSVC. Однако, есть мнение, что настроить стоит и для MinGW, но пока не уточнял, хотя рекомендации выполнял и Qt не ругался. Однако скорость не тестировал. Делать это необходимо на достаточно серьезных проектах, что бы заметить разницу. При использовании nmake многопоточного режима в qt5vars.cmd меняем строчку SET PATH=C:\DEV\jom_1_1_2;%PATH% на SET cl=/MP: Код: CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x86 Либо в строке конфигурации добавляем параметр -mp: configure -prefix %QT_INSTALL% -platform win32-msvc2017 -mp -debug-and-release -confirm-license -opensource -webengine-proprietary-codecs -sse2 -qt-sqlite -plugin-sql-odbc -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -make libs -make tools -openssl -icu -I "C:\DEV\openssl-1.0.2o\dist\include" -L "C:\DEV\openssl-1.0.2o\dist\lib" -I "C:\DEV\icu\dist\include" -L "C:\DEV\icu\dist\lib" -opengl dynamic КСТАТИ: -opengl dynamic - без этого Qt webengine не соберется. -webengine-proprietary-codecs - это что бы работал например mp3 формат. И как отмечалось ранее Qt webengine собирается без проблем в Qt 5.9.6, но учтите, что ключ -webengine-proprietary-codecs там не работает, если вас все таки смущает кривая сборка Qt webengine в Qt 5.11.1 (это касается и Qt 5.10). 2. Апгрейд на более новый и многоядерный процессор даст существенный прирост и комфорт. Однако не менее приятнее CCD в качестве системного диска, который так же даст прирост в производительности и повышения комфорта. 3. Если скачали весь пакет Build Tools for Visual Studio 2017 (13,1GB), используя команду: C:\vs_BuildTools.exe --layout D:\VSBT2017 --lang en-US ru-RU Реально он не нужен в полном объеме и в последствии, при желании, его можно сократить в несколько раз, убрав лишнее. Так же можно не указывать ru-RU, если забудете убрать галочку при установке BuildTools, это грозит проблемами в Qt консоли. А вот скачать нормально Visual Studio 2017 Community (38.1GB) пытался несколько раз: C:\vs_Community.exe --layout D:\MSVC2017 --lang en-US ru-RU Удалось только однажды. В остальных случаях все время выдается пара ошибок, хотя все вроде ставится без проблем. Может вы будете более удачливы. 4. Увеличение числа комплектов тормозит систему. И насколько знаю средства MSVC2017 совместимы сверху вниз. Поэтому, вероятно, разумно ограничить их число до минимума: MSVC2017 64bit MSVC2017 32bit MinGW 32bit При необходимости установки комплектов MSVC2015 не забываем поставить дополнительно пару галочек при установке BuildTools: (https://d.radikal.ru/d28/1808/2d/81a22ef4c4f1t.jpg) (https://d.radikal.ru/d28/1808/2d/81a22ef4c4f1.png) И соответственно при установке Qt 5.11.1: (https://d.radikal.ru/d40/1808/ba/b073b8438c09t.jpg) (https://d.radikal.ru/d40/1808/ba/b073b8438c09.png) И вероятно для создания андроид приложений стоит поставить и эту пару комплектов: (https://d.radikal.ru/d13/1808/c7/69c5ee3ee44bt.jpg) (https://d.radikal.ru/d13/1808/c7/69c5ee3ee44b.png) 5. Вероятно было бы более аккуратно определить каталог DEV здесь: C:\Qt\DEV Но, при деинсталляции Qt 5.11.1, рускуем все потерять. То же касается и сборки нового комплекта в стандартном каталоге: C:\Qt\Qt5.11.1\5.11.1\msvc2017_32 К тому же, при компиляции с помощью jom, в конце выскочили какие то неясные вопросики :). Возможно пути длинноваты. 6. Ну а это выскакивает при компиляции в дебаг, примеров с Qt webengine: (https://d.radikal.ru/d24/1808/2a/a3f849fc9c5bt.jpg) (https://d.radikal.ru/d24/1808/2a/a3f849fc9c5b.png) И если приглядеться, что за странные пути f:\dd\vctools\src\srartup\... Откуда QT их берет, в этом я не разбираюсь... 7. Начиная с QT 5.11 для сборки QDoc требуется LLVM. В инструкции все это предусматривается и в библиотеке (C:\msvc2017_32\bin) присутствует qdoc.exe, который ранее не удавалось получить. Однако, так и не смог правильно собрать саму документацию. Она не хочет собираться в указанной папке, хотя пользовался официальной инструкцией. Но нам и не надо ее собирать, поскольку, она устанавливается при инсталляции Qt 5.11.1. Но вот освобождает ли это разработчика от установки LLVM, если ему понадобится собрать свою документацию, мне не известно. Полагаю начинающему этот компонент вовсе не нужен. 8. Configure summary для предложенного выше комплекта (использовал бы спойлер, но что то не нашел). Если не напутали с пропиской расположения каталогов и настройками конфигурации, то выделенные элементы должны быть иметь статус yes: Build type: win32-msvc (i386, CPU features: sse sse2) Configuration: sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx 512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl compile_examples f16c largefile precompile_header rdrnd shani x86SimdAlways shared debug_and_rel ease release debug build_all c++11 concurrent dbus no-pkg-config release_tools s tl Build options: Mode ................................... debug and release; default link: debu g; optimized tools Optimize release build for size ........ no Building shared libraries .............. yes Using C++ standard ..................... C++11 Using gold linker ...................... no Using precompiled headers .............. yes Using LTCG ............................. no Target compiler supports: SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX .................................. AVX AVX2 AVX512 ............................... F ER CD PF DQ BW VL IFMA VBMI Other x86 ............................ AES F16C RDRAND SHA Build parts ............................ libs tools App store compliance ................... no Qt modules and options: Qt Concurrent .......................... yes Qt D-Bus ............................... yes Qt D-Bus directly linked to libdbus .... no Qt Gui ................................. yes Qt Network ............................. yes Qt Sql ................................. yes Qt Testlib ............................. yes Qt Widgets ............................. yes Qt Xml ................................. yes Support enabled for: Using pkg-config ....................... no udev ................................... no Using system zlib ...................... no Qt Core: DoubleConversion ....................... yes Using system DoubleConversion ........ no GLib ................................... no iconv .................................. no ICU .................................... yes Tracing backend ........................ <none> Logging backends: journald ............................. no syslog ............................... no slog2 ................................ no Using system PCRE2 ..................... no Qt Network: getifaddrs() ........................... no IPv6 ifname ............................ no libproxy ............................... no OpenSSL ................................ yes Qt directly linked to OpenSSL ........ no OpenSSL 1.1 ............................ no SCTP ................................... no Use system proxies ..................... yes Qt Gui: Accessibility .......................... yes FreeType ............................... yes Using system FreeType ................ no HarfBuzz ............................... yes Using system HarfBuzz ................ no Fontconfig ............................. no Image formats: GIF .................................. yes ICO .................................. yes JPEG ................................. yes Using system libjpeg ............... no PNG .................................. yes Using system libpng ................ no EGL .................................... yes OpenVG ................................. no OpenGL: ANGLE ................................ yes Combined ANGLE Library ............... no Desktop OpenGL ....................... no Dynamic OpenGL ....................... yes OpenGL ES 2.0 ........................ no OpenGL ES 3.0 ........................ no OpenGL ES 3.1 ........................ no OpenGL ES 3.2 ........................ no Vulkan ................................. yes Session Management ..................... yes Features used by QPA backends: evdev .................................. no libinput ............................... no INTEGRITY HID .......................... no mtdev .................................. no tslib .................................. no xkbcommon-evdev ........................ no QPA backends: DirectFB ............................... no EGLFS .................................. no LinuxFB ................................ no VNC .................................... no Mir client ............................. no Windows: Direct 2D ............................ yes DirectWrite .......................... yes DirectWrite 2 ........................ yes Qt Widgets: GTK+ ................................... no Styles ................................. Fusion Windows WindowsVista Qt PrintSupport: CUPS ................................... no Qt Sql: DB2 (IBM) .............................. no InterBase .............................. no MySql .................................. no OCI (Oracle) ........................... no ODBC ................................... yes PostgreSQL ............................. no SQLite2 ................................ no SQLite ................................. yes Using system provided SQLite ......... no TDS (Sybase) ........................... no Qt Testlib: Tester for item models ................. yes Qt SerialBus: Socket CAN ............................. no Socket CAN FD .......................... no QtXmlPatterns: XML schema support ..................... yes Qt QML: QML network support .................... yes QML debugging and profiling support .... yes QML delegate model ..................... yes Qt Quick: Direct3D 12 ............................ yes AnimatedImage item ..................... yes Canvas item ............................ yes Support for Qt Quick Designer .......... yes Flipable item .......................... yes GridView item .......................... yes ListView item .......................... yes Path support ........................... yes PathView item .......................... yes Positioner items ....................... yes Repeater item .......................... yes ShaderEffect item ...................... yes Sprite item ............................ yes Qt Gamepad: SDL2 ................................... no Qt 3D: Assimp ................................. yes System Assimp .......................... no Output Qt3D Job traces ................. no Output Qt3D GL traces .................. no Use SSE2 instructions .................. no Use AVX2 instructions .................. no Aspects: Render aspect ........................ yes Input aspect ......................... yes Logic aspect ......................... yes Animation aspect ..................... yes Extras aspect ........................ yes Qt 3D Renderers: OpenGL Renderer ........................ yes Qt 3D GeometryLoaders: Autodesk FBX ........................... no Qt Wayland Client ........................ no Qt Wayland Compositor .................... no Qt Bluetooth: BlueZ .................................. no BlueZ Low Energy ....................... no Linux Crypto API ....................... no WinRT Bluetooth API (desktop & UWP) .... yes Qt Sensors: sensorfw ............................... no Qt Quick Controls 2: Styles ................................. Default Fusion Imagine Material Unive rsal Qt Quick Templates 2: Hover support .......................... yes Multi-touch support .................... yes Qt Positioning: Gypsy GPS Daemon ....................... no WinRT Geolocation API .................. no Qt Location: Qt.labs.location experimental QML plugin . yes Geoservice plugins: OpenStreetMap ........................ yes HERE ................................. yes Esri ................................. yes Mapbox ............................... yes MapboxGL ............................. no Itemsoverlay ......................... yes Qt Multimedia: ALSA ................................... no GStreamer 1.0 .......................... no GStreamer 0.10 ......................... no Video for Linux ........................ no OpenAL ................................. no PulseAudio ............................. no Resource Policy (libresourceqt5) ....... no Windows Audio Services ................. yes DirectShow ............................. yes Windows Media Foundation ............... yes Media player backend ................... DirectShow Qt WebEngine: Embedded build ......................... no Pepper Plugins ......................... yes Printing and PDF ....................... yes Proprietary Codecs ..................... yes Spellchecker ........................... yes Native Spellchecker .................... no WebRTC ................................. yes Use System Ninja ....................... no Geolocation ............................ yes Use v8 snapshot ........................ yes Note: No wayland-egl support detected. Cross-toolkit compatibility disabled. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Август 11, 2018, 17:19 Взял ресурсы Qt 5.9.6 и заменил WebEngine от Qt 5.11.1 (согласно документации совместимо). Дебаг режим не работает так же. Релиз работает нормально, т.е. примеры видят и локальный контент. Qt 5.11.1 в релиз режиме примеры не видят локальный контент, что со самосборкой, что со сборкой из стандартной комплектации.
Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Август 19, 2018, 06:26 Попробовал скомпилировать Qt свежей версией Build Tools for Visual Studio 2017v15.8.1.
Однако при конфигурировании выдает: ...NMAKE : fatal error U1077: '"C:\...\MSVC\14.15.26726\bin\HostX86\x86\cl.exe"' : return code '0x2' Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Октябрь 02, 2018, 13:37 Скомпилировал на досуге Qt 5.11.2.
Ситуация с WebEngine на данный момент такова: Поправили на половину. Теперь Релиз компиляция исправно работает, примеры с WebEngine полностью работоспособны и работают как внешние так и локальные ссылки (ранее не работали локальные ссылки). Дебаг режим по прежнему не работает. Однако заметил, что недавно на GitHub был исправлен баг QTBUG-69281, на сколько понимаю, это он и есть. Простой подменой файлов официального дистрибутива файлами с GitHub мне не удалось сделать сборку, как в прошлый раз, что бы проверить (не скомпилировался WebEngine). Ближайший бета релиз Qt 5.12 видимо будет работать как надо, если снова что нибудь не поломают. Название: Re: Сборка Qt 5 со всем новым и необходимым для изучения и тренировки Отправлено: Serega от Октябрь 09, 2018, 05:28 Наконец сработала должным образоим компиляция WebEngine в пакете: qt-everywhere-src-5.12.0-beta1.
Однако согласно официальной инструкции: Цитировать Qt WebEngine can only be built on 64-bit Windows, with a x64-bit toolchain. For building Qt WebEngine for x86 applications, you need to configure and compile Qt with the Visual Studio 2017 x64 to x86 cross-compile toolchain. This toolchain can be set up on the command line by running vcvarsall.bat amd64_x86. Запуск командной строки Visual Studio выглядит так (в командном файле qt5vars.cmd):Код: CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64_x86 Работоспособность проверял с новым qt-opensource-windows-x86-5.11.2.exe. Все инструкции идентичны ранее изложенным, за исключением указанной выше строчки. А так же настройки Qt Creator (в новом комплетке v4.7.1). Там должен быть указах 64х-битный компилятор и дебагер. Здесь я не совсем понял, возможно что то еще надо подправить или он автоматом будет компилировать 32х-битные версии приложений. Во всяком случае не увидел варианта amd64_x86. Т.е. на сегодня можно собрать более мене полноценный комплект, без лишнего, со всеми работоспособными примерами, если конечно снова что либо не поломали. Не проверял, но ране все работали: msvc2017_64 + WebEngine msvc2017_32 + WebEngine MinGW (прикрутить бы QWebKit, на WebEngine вроде как никто не надеится, хотя работает же клон (родитель) в линуксе) |