Сборка Sigil на Windows с использованием Qt6
Для сборки Sigil на Windows необходимо выполнить следующие шаги:
Sigil для Qt6 собирается с помощью VS2022 в последних версиях Sigil. Начните с установки работающей версии Visual Studio, подойдёт и бесплатная версия Community edition. Старые версии Visual Studio можно найти здесь.
Приведённые здесь инструкции сосредоточены на использовании инструментов командной строки cmake и nmake. Но если вам удобнее работать в IDE, вы сможете найти достаточно инструкций, чтобы начать работу. Я просто не использую IDE. Слишком много сложностей (логины и истекающие лицензии для бесплатного ПО) на мой вкус. Но это работало, когда я последний раз пробовал.
Откройте «Пуск» (если у вас его нет, действуйте самостоятельно), перейдите в «Все программы->Visual Studio 2022» и найдите командную строку, которая вам понадобится для вашей платформы. Вероятно, это будет «VS2022 x64 Native Tools Command Prompt» для создания 64-битного пакета. Создайте ярлык для соответствующей командной строки на рабочем столе. Это то, что вы будете использовать для настройки и сборки Sigil.
Если вы собираетесь использовать Visual Studio IDE и cmake-gui, вам не нужно использовать эти командные строки.
Требуется CMake версии 3.18 и выше. Скачайте его с cmake.org и установите. Убедитесь, что каталог «bin» CMake (тот, который содержит «cmake.exe») добавлен в ваш PATH.
Получите версию Unicode версии 6+ (на момент написания статьи — 6.2) с jrsoftware.org. При установке скажите «да» опции Preprocessor. Также убедитесь, что каталог Inno Setup (тот, который содержит «ISCC.exe») добавлен в ваш PATH. 64-разрядной версии Inno Setup нет, но вы всё равно можете использовать её для создания установщиков 64-разрядных программ.
Начиная с Qt6+, бесплатных бинарных установщиков Qt не предоставляется. Вы должны собрать его самостоятельно из исходного кода (применяя соответствующие патчи из каталога Docs Sigil).
Если вы хотите использовать точные исправленные версии Qt6.5.3 и QtWebEngine, которые я использую для выпуска Sigil, можете скачать весь пакет из моего личного репозитория. Это архив с именем: Qt6.5.3_x64_VS2022.7z. Распакуйте его с помощью 7-zip и запомните местоположение.
После того как вы собрали/установили/распаковали Qt6.5.2+, убедитесь, что его каталог «bin» (содержащий «windeployqt.exe) добавлен в ваш PATH.
Это важно. Вы будете собирать 64-битную версию Sigil, поэтому вам нужно установить 64-битную версию Python 3.11.3+.
Официальный установщик Windows Sigil использует Python 3.11.3 от Python.org. Другие версии Python могут работать, но если они не работают, вы действуете на свой страх и риск. Загрузите и установите его. Если вы устанавливаете его в место, требующее специальных привилегий для добавления/удаления файлов, вам может потребоваться использовать командную строку администратора для установки дополнительных зависимостей модулей Python Sigil. Я рекомендую устанавливать Python в стандартное расположение ($USER/appdata), чтобы избежать этой проблемы. Также рекомендую разрешить установщику Python добавить Python в ваш PATH. Это облегчит Sigil поиск необходимых компонентов Python и упростит установку дополнительных модулей Python с помощью инструмента Pythons «pip». Я предполагаю, что вы сделали это для остальных инструкций.
После установки Python 3.11.3+ я рекомендую убедиться, что pip/setuptools Python обновлены до последней версии. Самый простой способ сделать это — открыть командную строку (ярлык командной строки Visual Studio, который вы создали на рабочем столе на шаге 1, подойдёт) и ввести:
python -m pip install -U pip
Как только вы закончите, вы можете начать устанавливать дополнительные модули, необходимые для Sigil.
Из той же командной строки, которую вы обновили с помощью pip, установите модуль «six» с помощью следующей команды:
pip install six
Повторите для следующих шести модулей:
pip install html5lib
и т. д.
Другие версии Pillow, вероятно, будут работать нормально, но сборка установщика Sigil основана на минимуме v6.2.1. Чтобы установить эту конкретную версию, используйте следующую команду pip.
pip install Pillow==9.5.0
В противном случае:
pip install Pillow
будет достаточно.
Установите конкретную версию с помощью pip с помощью следующей команды.
pip install lxml==4.9.2
PyQt5 был заменён собственным Shiboken/PySide6 от Sigil-Qt6.
pip install PySide6==6.5.2 Shiboken6==6.5.2 PySide6-Addons==6.5.2
PySide6-Addons предоставляет поддержку WebEngine и PDF.
Вы можете клонировать репозиторий Github Sigil (требуется клиент Windows git — я использую портативную версию отсюда):
git clone https://github.com/Sigil-Ebook/Sigil.git
Или вы можете загрузить zip-файл определённого выпуска со страницы выпусков Sigil на Github (1.9.40 на момент написания этой статьи).
Я рекомендую последний метод, так как версия репозитория Github может не всегда быть стабильной в любой момент времени (хотя мы стараемся не оставлять её сломанной).
Разархивируйте исходный код. Переименуйте самый верхний каталог во что-нибудь полезное, например, «sigil-src». Если вам нравится вводить очень длинные имена каталогов в командных строках — в этом случае не переименовывайте его. Запомните это местоположение, оно понадобится вам при создании файлов makefile с cmake.
Чтобы создать пакет установки Sigil, вам нужно будет скопировать распространяемый установщик Visual Studio в папку <sigil-src>\installer
(ту, которая содержит файл Sigil.iss). Эти распространяемые файлы обычно можно найти где-то в структуре папок Visual Studio:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.XX.XXXXX\
vc_redist.x64.exe для 64-битных сборок.
Имена файлов важны, поэтому не переименовывайте их. Просто скопируйте соответствующий файл в папку «installer» в исходном коде Sigil, упомянутом выше.
Когда все предварительные условия соблюдены и все необходимые дополнения добавлены в ваш PATH, остаётся только сгенерировать файлы сборки Sigil с помощью cmake.
Используя ярлык для соответствующей командной строки VSStudio, созданный на шаге 1, перейдите в подходящую пустую директорию для сборки Sigil (я рекомендую «sigil-build» или что-то подобное), и выполните следующую команду:
cmake -G "NMake Makefiles" -DWIN_INSTALLER_USE_64BIT_CRT=1 -DQt6_DIR="C:\Qt6.5.2\lib\cmake\Qt6" -DCMAKE_BUILD_TYPE=Release "C:\path\to\sigil-src"
Очевидно, измените пути в соответствии с тем, где вы фактически установили Qt6.2.x+ и исходный код Sigil. Например: используя мою специально скомпилированную версию Qt5/WebEngine, это будет выглядеть так:
cmake -G "NMake Makefiles" -DWIN_INSTALLER_USE_64BIT_CRT=1
. Запуск Sigil с версии 2.0.2, предполагается -DUSE_QT6=1 и больше не используется. Если вы хотите собрать Sigil с помощью Qt5, вам нужно добавить -DUSE_QT5=1 в команду настройки cmake.
Если всё успешно завершится, то вы готовы к компиляции Sigil (оставьте командную строку открытой).
Вы также можете создать файлы проекта/решения Visual Studio с помощью cmake, используя:
cmake -G "Visual Studio 17 2022" -A x64 -DUSE_QT6=1 -DWIN_INSTALLER_USE_64BIT_CRT=1 -DQt6_DIR="C:\Qt6.5.2\lib\cmake\Qt6" -DCMAKE_BUILD_TYPE=Release "C:\path\to\sigil-src"
Также можно использовать cmake-gui (дважды щёлкните на cmake-gui в каталоге cmake/bin) и полностью избежать использования командной строки, если хотите (хотя вам придётся самостоятельно разбираться, как ввести все параметры конфигурации cmake в графическом интерфейсе).
-DUSE_QT5=(0|1) По умолчанию 0 (используйте Qt6). Соберите Sigil, используя Qt6 или Qt5
-DUSE_ALT_ICONS=(0|1) По умолчанию 0. Установите/используйте альтернативный значок приложения Sigil бирюзового цвета.
Следующие три параметра cmake используются для ручного указания того, какой Python3 вы хотите использовать при сборке Sigil вместо того, чтобы полагаться на включённые утилиты cmake для автоматического поиска подходящей версии. Они могут пригодиться, если у вас на компьютере установлено несколько версий Python 3.
-DPYTHON_LIBRARY=<полный путь к библиотеке python3.x (например, python311.lib)>
-DPYTHON_INCLUDE_DIR=<путь к каталогу, где находятся заголовочные файлы python3.x (python.h)>
-DPYTHON_EXECUTABLE=<полный путь к двоичному файлу python3.x (python.exe)>
ПРИМЕЧАНИЕ: те, кто использует cmake 3.18.1 или выше, могут использовать новый модуль FindPython3 cmake для поиска частей Python3, необходимых для компиляции Sigil. В процессе сборки по умолчанию используется старый FindPython. Добавьте -DTRY_NEWER_FINDPYTHON3=1 в свою команду настройки CMAKE, чтобы использовать его. Новые версии вышеуказанных параметров для указания конкретной версии Python3 (если у вас установлено несколько Pythons) будут следующими:
-DPython3_LIBRARIES=<полный путь к библиотеке python3.x (например, python39.lib)>
-DPython3_INCLUDE_DIRS=<путь к каталогу, где находятся заголовочные файлы python3.x (python.h)>
-DPython3_EXECUTABLE=<полный путь к двоичному файлу python3.x (python.exe)>
Если вы не хотите создавать/включать связанную среду Python в установщик Sigil, используйте -DPKG_SYSTEM_PYTHON=0 в команде настройки CMake, чтобы отключить её. ПРИМЕЧАНИЕ: вам придётся настроить внешний интерпретатор Python для запуска плагинов Sigil. Функция «Использовать связанный Python» будет недоступна.
Если вы создали файлы NMake Makefiles с помощью cmake (как это делаю я), то скомпилируйте Sigil, набрав nmake
(в той же командной строке, которую вы только что настроили) для начала сборки Sigil. Если сборка завершится без ошибок, вы будете готовы создать пакет установщика (оставьте командную строку открытой).
Если вы создали проекты/решения Visual Studio, откройте файл Sigil.sln в каталоге сборки; убедитесь, что конфигурация решения установлена на «Release»; выберите проект ALL_BUILD в обозревателе решений и соберите проект ALL_BUILD из меню сборки (Build->Build ALL_BUILD). Примечание: не собирайте решение. Если сборка завершается без ошибок, вы готовы создать пакет установщика. На данный момент невозможно собрать версию Sigil для отладки с помощью Visual Studio. Поэтому убедитесь, что конфигурация решения изменена на сборку только «Release».
Если вы создали файлы NMake Makefiles и успешно скомпилировали Sigil, введите nmake makeinstaller
(в той же командной строке, в которой вы только что собрали Sigil), чтобы создать пакет установщика Sigil. Если всё завершится успешно, пакет установщика Sigil будет помещён в папку «installer» каталога sigil-build (ПРИМЕЧАНИЕ: это каталог сборки, а не источника). Если сборка не завершится успешно, возможно, вам придётся удалить «temp_folder» в каталоге сборки, прежде чем продолжить.
Если вы создали Visual Studio...
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )