В CMakeLists.txt:11 указана версия 5. В одном из видео на стриминг-сервисе автор указывал, что хотел бы остаться на Qt5
...я надеюсь, что удастся мне на этой версии остаться. (c) Yellow-footed-honeyguide
Я бы хотел озвучить свои причины желания перехода на Qt6:
LTS.
У шестой версии есть уже два LTS: 6.2.2 и 6.5, поэтому можно остановиться хотя бы на этих версиях.
Easy swap.
В текущей реализации проекта для перехода на Qt6 достаточно просто заменить в файле main.cpp следующую строку
/**
* Line 68. Qt5 (current)
*/
in.setCodec("UTF-8");
/**
Line 68 for Qt6 swapping.
*/
in.setEncoding(QStringConverter::Utf8);
В частности для сохранения поддержки Qt5 можно использовать следующий псевдокод
```c++
#if QT_VERSION > QT_VERSION_CHECK(6, 0, 0)
in.setEncoding(QStringConverter::Utf8);
#else
in.setCodec("UTF-8");
#endif
Environment.
Windows. Общая практика на Windows подразумевает установку через Qt Installer пакетов под каждую из версий Qt. То есть для того, чтобы собрать утилиту, нужно отдельно скачивать Qt5;
macOS. На macOS платформе практика диктует использовать homebrew. Вероятнее всего qt@5 будет установлен и так в brew, т.к. он является зависимостью множества других пакетов. Но! Сейчас разработчики ведут проекты под эгидой Qt6 и, чтобы CMake нашел Qt5 на компьютере, приходится через $ export перемещать его вверх по списку PATH. Связано это с тем, что при поиске QtConfig.cmake CMake натыкается на Qt6 и останавливается, вызывая ошибку. Это происходит отчасти из-за того, что qt@5 - это альтернативная версия существующего пакета qt:
qt@5 is keg-only, which means it was not symlinked into /opt/homebrew, because this is an alternate version of another formula. (c) homebrew (brew info qt@5)
Linux. Не могу сказать о нём, потому как не так много работал в Linux с Qt. Подозреваю проблематика та же самая, что и на macOS
Features.
Фреймворк всегда обладал большим количеством ошибок, UB, багов и пр. Шестая версия не только добавляет множество бесполезного кода и уровней абстракций, но и исправляет ошибки существующих наработок. Можно ознакомиться с данной статьей как тривиальным примером.
В CMakeLists.txt:11 указана версия 5. В одном из видео на стриминг-сервисе автор указывал, что хотел бы остаться на Qt5
Я бы хотел озвучить свои причины желания перехода на Qt6:
LTS.
Easy swap.
/**
Environment.
Windows. Общая практика на Windows подразумевает установку через Qt Installer пакетов под каждую из версий Qt. То есть для того, чтобы собрать утилиту, нужно отдельно скачивать Qt5;
macOS. На macOS платформе практика диктует использовать homebrew. Вероятнее всегоConfig.cmake CMake натыкается на Qt6 и останавливается, вызывая ошибку. Это происходит отчасти из-за того, что
qt@5
будет установлен и так в brew, т.к. он является зависимостью множества других пакетов. Но! Сейчас разработчики ведут проекты под эгидой Qt6 и, чтобы CMake нашел Qt5 на компьютере, приходится через$ export
перемещать его вверх по списку PATH. Связано это с тем, что при поиске Qtqt@5
- это альтернативная версия существующего пакетаqt
:Linux. Не могу сказать о нём, потому как не так много работал в Linux с Qt. Подозреваю проблематика та же самая, что и на macOS
Features. Фреймворк всегда обладал большим количеством ошибок, UB, багов и пр. Шестая версия не только добавляет множество бесполезного кода и уровней абстракций, но и исправляет ошибки существующих наработок. Можно ознакомиться с данной статьей как тривиальным примером.