====== Psi+ on MS Windows: Build Instructions (win64-msvc2019) ====== ===== Microsoft Visual Studio 2019 ===== ==== Необходимый инструментарий ==== Скачиваем исходный код Psi+ из git-репозитория: git clone https://github.com/psi-plus/psi-plus-snapshots.git cd psi-plus-snapshots Скачиваем: * [[https://cmake.org/download/|CMake ]] Можно использовать тот, что идет в комплекте с Qt * [[https://my.visualstudio.com/Downloads?q=visual%20studio%202019&wt.mc_id=o~msft~vscom~older-downloads|Microsoft Visual Studio 2019]] * [[https://www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5|Qt Online Installer Windows]] (требует регистрации на сайте) * [[https://gstreamer.freedesktop.org/data/pkg/windows/1.24.4/msvc/gstreamer-1.0-msvc-x86_64-1.24.4.msi|Gstreamer runtime libraries 1.24.4]] * [[https://gstreamer.freedesktop.org/data/pkg/windows/1.24.4/msvc/gstreamer-1.0-devel-msvc-x86_64-1.24.4.msi|Gstreamer development libraries 1.24.4]] * [[https://sourceforge.net/projects/psiplus/files/Windows/Personal-Builds/KukuRuzo/SDK/psisdk-msvc2019-setup-35.0.exe/download|Psi+ Qt5 SDK MSVC2019 Win64]] (СДК для сборки Psi+ //~30Мб//) ==== Установка Инструментов сборки Psi+ ==== * Сначала установим CMake при помощи скачанного установщика. Можно пропустить и установить вместе с Qt (//желательно ставить в каталог ближе к корню диска, например C:\cmake и добавить путь к CMake в PATH по просьбе установщика//) * Установим **Microsoft Visual Studio 2019 Community Edition** при помощи скачанного online-установщика (~12Гб места на диске) рекомендуемый набор компонентов для установки показан на рисунке: {{:ru:msvc2019_setup.png?1200|}} также можно воспользоваться пунктом импортировать конфигурацию, для этого нужно создать текстовый файл со следующим содержимым: { "version": "1.0", "components": [ "Microsoft.VisualStudio.Component.CoreEditor", "Microsoft.VisualStudio.Workload.CoreEditor", "Microsoft.VisualStudio.Component.Roslyn.Compiler", "Microsoft.Component.MSBuild", "Microsoft.VisualStudio.Component.TextTemplating", "Microsoft.VisualStudio.Component.Debugger.JustInTime", "Microsoft.VisualStudio.Component.VC.CoreIde", "Microsoft.VisualStudio.Component.Windows10SDK", "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", "Microsoft.VisualStudio.Component.Windows10SDK.19041", "Component.CPython3.x64", "Microsoft.VisualStudio.Component.VC.Redist.14.Latest", "Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core", "Microsoft.VisualStudio.Component.VC.ATL", "Microsoft.VisualStudio.Component.VC.ASAN", "Microsoft.VisualStudio.Component.VC.Modules.x86.x64", "Microsoft.VisualStudio.Workload.NativeDesktop" ] } * Затем установим необходимый комплект **Qt5** при помощи online-установщика, где выбираем Qt-5.15.2 MSVC2019 64bit (рекомендуется для SDK v29.0 в Tools выбираем CDB и убеждаемся, что выбран QtCreator (установленный комплект занимает около 7Гб) * Устанавливаем библиотеки **Gstreamer** желательно устанавливать в один и тот же каталог и в максимальной конфигурации * И наконец установим **SDK**, который содержит набор библиотек необходимых для сборки Psi+. При установке очень желательно включить пункт "Добавить запись в реестр Windows". **Поле установки нужно перезайти в систему, чтобы обновились переменные.** === Конфигурирование Qt перед сборкой === * Нажимаем клавиши **Win+Pause/Break** и слева выбираем пункт Дополнительные параметры, в появившемся окне выбираем **Переменные среды** и в новом окне убеждаемся в наличии переменных: **GSREAMER_1_0_ROOT_x86_64** и **PSI_SDK_MSVC_WIN64** {{:ru:env-vars.png|}} * Запускаем **QtCreator**, там в меню **Инструменты** выбираем **Параметры** * Убедимся, что QtCreator нашел CMake, если не нашел добавляем его вручную {{:ru:cmake-config.png|}} * Проверяем, что QtCreator нашел необходимые дебаггеры, если нужного нет - добавляем сами: {{:ru:cdb-config.png|}} * Проверяем наличие необходимых компиляторов {{:ru:creator-compilers.png|}} * Проверяем наличие необходимого нам профиля Qt (у вас будут свои пути) {{:ru:qt-profile.png|}} * Настраиваем среду сборки {{:ru:creator-comp.png|}} * Настраиваем генератор CMake {{:ru:cmake-generator.png|}} * Дополнительно настраиваем флаги CMake по-умолчанию: {{:ru:cmake-flags.png|}} ==== Компиляция Psi в программе QtCreator ==== * Запускаем **QtCreator**, если он еще не запущен. * Открываем файл **CMakeLists.txt** из корневого каталога со скачанными исходными кодами Psi+ * Настраиваем проект {{:ru:project-setts.png|}} Можем включать / выключать необходимые типы сборки, которые потом можно выбрать в основном окне программы {{:ru:build-type.png|}} * После настройки проекта начнется предварительное конфигурирование проекта результаты которого будут представлены на вкладке **Основные сообщения** * Заходим в опции проекта и выбираем необходимые нам флаги конфигурации (не забываем нажимать **Применить**). Рекомендуемые мною настройки: * Обязательно включаем флаг DEV_MODE если необходим запуск Psi+ прямо из QtCreator * Добавляем следующие этапы сборки: {{:ru:project-opts.png|}} * После настройки советую зайти в пункт меню **Сборка** и там по очереди выполнить **Очистить конфигурацию** и **Запустить CMake**. Желательно делать так всегда, когда вы изменяете настройки проекта (меняете состояние флагов). * Если все прошло успешно - запускаем сборку по **Ctrl+B** или выбрав в меню **Сборка** - **Собрать проект psi-plus** * Сборка займет некоторое время и если пройдет успешно, вы можете запускать Psi+ прямо из QtCreator или посмотреть в настройках запуска проекта путь к собранным файлам * Если что-то пошло не так, то сначала убедитесь, что у вас установлены все необходимые инструменты для сборки, заданы все необходимые переменные среды или настройте пути к SDK и Gstreamer в настройках проекта (возможно вам необходимо будет добавить необходимые переменные вручную). * Описание флагов конфигурации смотрим [[https://github.com/psi-plus/psi-plus-snapshots/blob/master/Readme-cmake-ru.txt|тут]] * Сборка SDK своими руками в этом разделе не описана, т.к. эта задача - нетривиальна и порой требует специальных навыков и знаний. **==== ПРИМЕЧАНИЯ ====** 1. Для ускорения сборки под Windows можно воспользоваться утилитой [[https://ccache.dev/download.html|Ccache]], для этого нужно распаковать архив с программой в удобный каталог и добавить этот каталог в переменную PATH. 2. Если у вас что-то не получается - внимательно читайте вывод CMake, cmake-скрипты Psi/Psi+ выдают достаточно подробную информацию о процессе конфигурации.