Здравствуйте, XOOIOOX, Вы писали:
XOO>Скомпилил, потестил на проектах, пока все вроде норм.
D>>скорость скачивания 50 кб в секунду.
XOO>Если в несколько потоков каким-нибудь данлоадером качать, то скорость ок.
Если качать оффлайн инсталлятор, то можно данлоадером, но тогда вопрос — как поставить DPB архив, что бы отлаживать Qt? Он идет отдельным архивом, размером 2.2 гига, а внутри куча мелких архивов, неужели руками сортировать на 32 и 64 битные и каждый мелкий архивчик руками заливать в папку Qt?
Здравствуйте, Denwer, Вы писали:
D>Если качать оффлайн инсталлятор
С некоторых пор качаю сырцы и компилю сам. Соответственно, вся инфа по отладке доступна изначально. Уж не говоря про варианты для статики/DLL, нужной битности итд.
Здравствуйте, Denwer, Вы писали:
D>Если качать оффлайн инсталлятор, то можно данлоадером, но тогда вопрос — как поставить DPB архив, что бы отлаживать Qt? Он идет отдельным архивом, размером 2.2 гига, а внутри куча мелких архивов, неужели руками сортировать на 32 и 64 битные и каждый мелкий архивчик руками заливать в папку Qt?
Давно перешёл на онлайн инсталлятор, там всё сразу есть.
Здравствуйте, SaZ, Вы писали:
D>>Если качать оффлайн инсталлятор, то можно данлоадером, но тогда вопрос — как поставить DPB архив, что бы отлаживать Qt? Он идет отдельным архивом, размером 2.2 гига, а внутри куча мелких архивов, неужели руками сортировать на 32 и 64 битные и каждый мелкий архивчик руками заливать в папку Qt?
SaZ>Давно перешёл на онлайн инсталлятор, там всё сразу есть.
Я тоже давно это сделал, но там нет многопоточного скачивания, поэтому
D>скорость скачивания 50 кб в секунду.
В итоге скачал оффлайн и с помощью FAR(можно по маске файлов скопировать)+RAR(можно разархивировать группу файлов сразу) PDB-шки раскидал за 3 минуты.
D>Свершилось. После 3-х переносов срока релиза. Качаем. D>ЗЫ: Не спешите удалять свою версию, у них там походу сервера перегружены, скорость скачивания 50 кб в секунду.
Удалось кому то собрать 5.9.2 из сырков (Win32 msvc2015)?
У меня:
error: unable to read PCH file .pch\debug\Qt5Cored_pch.pch: 'no such file or directory'
fatal error: PCH file '.pch\debug\Qt5Cored_pch.pch' not found: module file not found
Здравствуйте, nen777w, Вы писали:
N>Удалось кому то собрать 5.9.2 из сырков (Win32 msvc2015)?
Еще как. Теперь всегда так делаю. Правда уже перешел на VS2017 и собирал в ней DLL-версию, а Интелом статику. Но и до этого нормально собиралось в VS2015.
N>У меня:
Похоже на то, что переменные окружения студии не раздуплились.
У меня как-то так:
@echo off
CALL "c:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
d:
cd D:\WORK\libs\Qt\install
set QTDIR=
set PATH=%CD%\qtbase\bin;%CD%\gnuwin32\bin;%PATH%
configure.bat -prefix %CD%\..\qt5dll\ -debug-and-release -nomake examples -nomake tests -opensource -confirm-license -opengl dynamic -qt-zlib -qt-libjpeg -qt-libpng -qt-freetype -qt-pcre -qt-harfbuzz -platform win32-msvc2017 -mp
И вообще, нужно следовать пререквизитам компиляции (есть на сайте Qt) досконально. Перл нужный, версия Питона 2.x, всякие пути прописать, вот это все.
Ну и еще, конечно, для Венды сырцы из zip, а для Мака/Линукса из tar.xz. А то я как-то, помню, погорячился и под Маком из zip пытался скомпилить.
XOO>У меня как-то так:
Я не обновлялся с 5.7.0, запускал просто предустановленный msvc2015 x86/x64 native builds cmd (вроде все переменные окружения должны быть устанвлены после этого) и собирал без проблем.
Но с 5.9.2 такой фокус не прошёл. Попробую Ваш способ, спасибо.
Не нифига.... не работает Ваш способ у меня.
Более того, я попытался собрать Qt 5.9.2 под MinGW.
Все как обычно и раньше делал. Запускаю mingw-w64.bat иду в каталог с Qt сырками.
Там:
v:\Qt\qt592gcc32>configure.bat -prefix %CD%\qtbase -opensource -debug-and-release -skip qtwebengine -skip qtquickcontrols -no-icu -no-accessibility -nomake examples -nomake tests -opengl desktop
+ cd qtbase
+ v:\Qt\qt592gcc32\qtbase\configure.bat -top-level -prefix v:\Qt\qt592gcc32\qtbase -opensource -debug-and-release -skip qtwebengine -skip qtquickcontrols -no-icu -no-accessibility -nomake examples -nomake tests -opengl desktop
Bootstrapping qmake ...
'nmake' is not recognized as an internal or external command,
operable program or batch file.
Здравствуйте, nen777w, Вы писали:
N>Не нифига.... не работает Ваш способ у меня. N>Более того, я попытался собрать Qt 5.9.2 под MinGW. N>Все как обычно и раньше делал. Запускаю mingw-w64.bat иду в каталог с Qt сырками. N>Там: N>
N>v:\Qt\qt592gcc32>configure.bat -prefix %CD%\qtbase -opensource -debug-and-release -skip qtwebengine -skip qtquickcontrols -no-icu -no-accessibility -nomake examples -nomake tests -opengl desktop
N>+ cd qtbase
N>+ v:\Qt\qt592gcc32\qtbase\configure.bat -top-level -prefix v:\Qt\qt592gcc32\qtbase -opensource -debug-and-release -skip qtwebengine -skip qtquickcontrols -no-icu -no-accessibility -nomake examples -nomake tests -opengl desktop
N>Bootstrapping qmake ...
N>'nmake' is not recognized as an internal or external command,
N>operable program or batch file.
Здравствуйте, nen777w, Вы писали:
N>-prefix %CD%\qtbase
Погоди, что-то ты делаешь не так. Ключ "-prefix" указывает целевую директорию установки, а тут получается та же, где и сырцы. Так делать не надо. Можно, к примеру, следующим образом. В "c:\qt" есть поддиректория "src", где лежат сырцы, и "shared", куда в итоге установится скомпиленное.
И вообще, нужно создать батник в котором обязательно будет CALL "c:\бла-бла-путь-к-компилятору\vcvarsall.bat" amd64 (через пробел опция выбора битности и проца). Это и есть переменные окружения Студии. Без этого не сработает. Можно, конечно, все самому прописать в системе намертво, но ну его на фиг.
Далее уже в том же батнике (не выходя из переменных окружения, то есть) вызываешь configure, в prefix которого пишешь путь к целевой директории, затем jom (или nmake, если есть желание ждать пока скомпилится на одном ядре) и jom install. Если что-то пошло не так, то jom confclean и jom distclean (опять же в батнике с вызовом переменных окружения). Или можно просто удалить содержимое директории install — этим хороша инсталляция в другую директорию, весь мусор точно уберется.
N>>-prefix %CD%\qtbase
XOO>Погоди, что-то ты делаешь не так. Ключ "-prefix" указывает целевую директорию установки, а тут получается та же, где и сырцы. Так делать не надо. Можно, к примеру, следующим образом. В "c:\qt" есть поддиректория "src", где лежат сырцы, и "shared", куда в итоге установится скомпиленное.
С такой конфигурацией %CD%\qtbase все бинари сыпятся в %CD%\qtbase\bin, собирал всегда так Qt.
XOO>И вообще, нужно создать батник в котором обязательно будет CALL "c:\бла-бла-путь-к-компилятору\vcvarsall.bat" amd64 (через пробел опция выбора битности и проца). Это и есть переменные окружения Студии. Без этого не сработает. Можно, конечно, все самому прописать в системе намертво, но ну его на фиг.
Так зачем его самому создавать если его студия создает.
Вот тут можешь у себя поискать: "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2015\Visual Studio Tools\Windows Desktop Command Prompts"
XOO>Далее уже в том же батнике (не выходя из переменных окружения, то есть) вызываешь configure, в prefix которого пишешь путь к целевой директории, затем jom (или nmake, если есть желание ждать пока скомпилится на одном ядре) и jom install. Если что-то пошло не так, то jom confclean и jom distclean (опять же в батнике с вызовом переменных окружения). Или можно просто удалить содержимое директории install — этим хороша инсталляция в другую директорию, весь мусор точно уберется.
Сейчас вот посоветовали на форуме добавить опцию что бы он precompile headers не создавал -no-pch, помогло но не на долго...
Закончилось все Project ERROR: Unknown module(s) in QT: accessibility_support-private
А вот что с MinGW билдами происходит, я вообще не знаю. Я даже специально пробовал, распаковывают сырки 5.7.0 — конфигурируется, 5.9.0 -говорит что ему нужен nmake.
Команды одни и те же. ИМХО все это очень похоже на какие то кривули, и нужно им багу писать.
Здравствуйте, nen777w, Вы писали:
N>С такой конфигурацией %CD%\qtbase все бинари сыпятся в %CD%\qtbase\bin, собирал всегда так Qt.
Все же, попробуй так не делать. Наверное что-то поменяли. Я изначально на предыдущих версиях конфигурил в отдельную директорию по prefix'у. Т.е. для меня ничего сейчас не изменилось. А вот в самом начале, когда только пытался собирать из сырцов, что-то похожее было.
N>Так зачем его самому создавать если его студия создает.
А, ну может и так. Мне удобнее было батник создать.
Кстати, пути к Qt из этого комманд-промпта видны?
N>precompile headers не создавал
С этой штукой у меня точно проблем не возникало.
N>Закончилось все Project ERROR: Unknown module(s) in QT: accessibility_support-private
Можно, конечно, accessibility_support отключить, но не кузяво это.
Там еще webengine есть, который компилится часа 2. Он тоже остро реагирует, если что-то не так.
N>А вот что с MinGW N>5.9.0 -говорит что ему нужен nmake.
Тут не подскажу, однако прямых mkspecs для него, на первый взгляд, нет. Наверное надо какие-то конфиги где-то править.
N>>С такой конфигурацией %CD%\qtbase все бинари сыпятся в %CD%\qtbase\bin, собирал всегда так Qt. XOO>Все же, попробуй так не делать. Наверное что-то поменяли.
Попробовал.
Создал батник, по вашему шаблону:
CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
set QTDIR=
set PATH=%CD%\qtbase\bin;%CD%\gnuwin32\bin;%PATH%
configure.bat -prefix %CD%\..\qt5dll\ -opensource -debug-and-release -skip qtwebengine -skip qtquickcontrols -no-icu -no-accessibility -nomake examples -nomake tests -opengl desktop -mp
nmake
Та же фигня:
error: unable to read PCH file .pch\debug\Qt5Cored_pch.pch: 'no such file or directory'
fatal error: PCH file '.pch\debug\Qt5Cored_pch.pch' not found: module file not found
N>>Та же фигня: XOO>А мейкспеки, которые в ключе -platform, указать?
Все оказалось проще.
В PATH переменной прописался llvm-cl компилятор, который я устанавливал для экмпериментов.
Вот с ним то Qt не собирался и для msvc и для mingw потому что в обоих случаях без указания platfom соборчный скрипт предпочитал его.
К тому же есть (была) бага в при соборке с ключём -no-accessibility https://codereview.qt-project.org/#/c/208896/ пришлось брать патчи для фикса.
После чего я успешно собрал Qt обычным способом (т.е. как и раньше собирал) для MSVC и MinGW.
В любом случае за помощь в решнеии проблемы, спасибо!
Здравствуйте, nen777w, Вы писали:
N>В PATH переменной прописался llvm-cl компилятор
Вон оно чо. Мусор да, надо удалять. Я тоже как-то не мог понять, почему webengine и еще какая-то фигня не собиралась — оказывается Питон 3.x мешался. Удалил его (и другую дребедень заодно) и все нормализовалось.
N>в обоих случаях без указания platfom
Воот. А если бы с этим ключом, то собралось, думаю.
У меня 2 вопроса:
1) Как указать при билде Qt способ линкования стандартной библиотеки — ну там, динамически или статически её линковать?
2) Как указать, что при билде я хочу использовать последнюю версию с++? (компилер msvs2017 имеет ключики с помощью которых я могу указать версию языка: с++11 или с++14 или с++17 или просто последний стандарт)
Здравствуйте, AeroSun, Вы писали:
AS>динамически или статически её линковать?
В configure добавить ключ -shared или ничего не указывать для DLL и -static, стало быть, для статики. В директории mkspecs\common в msvc-desktop.conf найти все ключи -MD и -MDd и заменить их на -MT и -MTd соответственно.
AS>2) Как указать, что при билде я хочу использовать последнюю версию с++?
Это не имеет смысла, т.к., насколько я знаю, Qt использует C++11, не выше. В любом случае, быстрее работать от C++17 не будет. Можно попробовать собрать Интелом с добавлением специфических ключей оптимизации для данного компилера и вполне возможно, что где-то будет некоторый прирост.
N>>в обоих случаях без указания platfom XOO>Воот. А если бы с этим ключом, то собралось, думаю.
Да наверно бы собралось.
Но вот кстати всеравно, у меня переход с 5.7.0 на 5.9.2 не проходит плавно.
Кое что перестало работать, но это наверно потому что у меня еще горка своих патчей к Qt и некоторые пришлось адаптировать, так что сижу еще разбирась, что сломалось в итоге.
Здравствуйте, nen777w, Вы писали:
N>Бага с png файлами в 5.9.2.
У меня то же самое. Баг, видимо, в libpng. Первая PNG с внедренным icc-профилем, а вторая без него. Решение простое — не использовать, т.е. не внедрять icc-профили в иконы (зачем это вообще нужно?). Я не сталкивался с таким, т.к. в элементы интерфейса, в частности в иконы, никогда профили не внедрял. Мало того, что это не нужно, так еще если она честно будет отрисовывать с конвертацией из профиля в профиль, то возможны тормоза. Хотя в том, что эта либа и Qt в целом поддерживают icc в полной мере, сомневаюсь. Не Фотошоп, чай.
Здравствуйте, XOOIOOX, Вы писали:
XOO>Здравствуйте, nen777w, Вы писали:
N>>Бага с png файлами в 5.9.2.
XOO>У меня то же самое. Баг, видимо, в libpng.
Ок. Спасибо.
XOO>Решение простое — не использовать, т.е. не внедрять icc-профили в иконы (зачем это вообще нужно?).
Для меня вариант не очень. Зачем нужно ответ один — исторически так сложилось. У меня большое приложение с большим количеством картинок, пересмотреть конечно все можно, но не очень пока хочется, а продвинутых сторонних image вьюверов которые бы умели показать где какие я не встречал.Так что буду ждать фиксов от Qt.
N>>У меня большое приложение с большим количеством картинок, пересмотреть конечно все можно XOO>Сделать скрипт для Фотошопа, который убирает профили и натравить его на директории с картинками?
Не знал что так можно, спасибо погуглю.
N>>буду ждать фиксов от Qt. XOO>Так можно ждать очень долго.
Ну как сказать... не работающий ключик -no-accessibility они за день пофиксили
Но там и фикс, только 2 файла проекта поправить, а тут с целой либой проблема, посмотрим...