1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-sigil

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Building_Sigil_on_Windows_with_Qt6.md 19 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 10:08 7faa04d

Сборка Sigil на Windows с использованием Qt6

Общий обзор

Для сборки Sigil на Windows необходимо выполнить следующие шаги:

  1. Visual Studio 2022+ подойдёт бесплатная версия Community Edition.
  2. CMake (версия 3.18 или выше).
  3. Inno Setup (требуется версия 6 или более поздняя, поддерживающая юникод).
  4. Qt6.5.2+ / QtWebEngine
  5. Python 3.11.3+
  6. Исходный код Sigil (скачанный zip-файл или клон из git).
  7. Сборка Sigil
  8. Дополнительные сведения

Visual Studio

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

Требуется CMake версии 3.18 и выше. Скачайте его с cmake.org и установите. Убедитесь, что каталог «bin» CMake (тот, который содержит «cmake.exe») добавлен в ваш PATH.

Inno Setup

Получите версию Unicode версии 6+ (на момент написания статьи — 6.2) с jrsoftware.org. При установке скажите «да» опции Preprocessor. Также убедитесь, что каталог Inno Setup (тот, который содержит «ISCC.exe») добавлен в ваш PATH. 64-разрядной версии Inno Setup нет, но вы всё равно можете использовать её для создания установщиков 64-разрядных программ.

Qt6.5.2+

Начиная с Qt6+, бесплатных бинарных установщиков Qt не предоставляется. Вы должны собрать его самостоятельно из исходного кода (применяя соответствующие патчи из каталога Docs Sigil).

Если вы хотите использовать точные исправленные версии Qt6.5.3 и QtWebEngine, которые я использую для выпуска Sigil, можете скачать весь пакет из моего личного репозитория. Это архив с именем: Qt6.5.3_x64_VS2022.7z. Распакуйте его с помощью 7-zip и запомните местоположение.

После того как вы собрали/установили/распаковали Qt6.5.2+, убедитесь, что его каталог «bin» (содержащий «windeployqt.exe) добавлен в ваш PATH.

Python 3.11.3+

Это важно. Вы будете собирать 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 Зависимости модуля

После установки Python 3.11.3+ я рекомендую убедиться, что pip/setuptools Python обновлены до последней версии. Самый простой способ сделать это — открыть командную строку (ярлык командной строки Visual Studio, который вы создали на рабочем столе на шаге 1, подойдёт) и ввести:

python -m pip install -U pip

Как только вы закончите, вы можете начать устанавливать дополнительные модули, необходимые для Sigil.

  • six
  • html5lib (1.1+)
  • regex (2023.3.23+)
  • cssselect (1.2.0+)
  • css-parser (1.0.8+)
  • chardet (5.1.0+)
  • dulwich (0.21.3+) dulwich также требует минимальных значений urllib3 и certifi
  • Pillow (9.5.0+)
  • lxml (4.9.2+)
  • Shiboken6 (6.5.2+)
  • PySide6 (6.5.2+). Используйте ту же версию, что и Shiboken6
  • Pyside6-Addons (6.5.2+) (Я также скомпилировал PySide/Shiboken6 для Qt6.5.3. Вы можете скачать колёса из того же места, где находится моя пользовательская версия Qt6.5).

Из той же командной строки, которую вы обновили с помощью pip, установите модуль «six» с помощью следующей команды:

pip install six

Повторите для следующих шести модулей:

pip install html5lib

и т. д.

Установка Pillow

Другие версии Pillow, вероятно, будут работать нормально, но сборка установщика Sigil основана на минимуме v6.2.1. Чтобы установить эту конкретную версию, используйте следующую команду pip.

pip install Pillow==9.5.0

В противном случае:

pip install Pillow

будет достаточно.

Установка lxml.

Установите конкретную версию с помощью pip с помощью следующей команды.

pip install lxml==4.9.2

Установка PySide6.

PyQt5 был заменён собственным Shiboken/PySide6 от Sigil-Qt6.

pip install PySide6==6.5.2 Shiboken6==6.5.2 PySide6-Addons==6.5.2

PySide6-Addons предоставляет поддержку WebEngine и PDF.

Получение исходного кода Sigil

Вы можете клонировать репозиторий 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

Чтобы создать пакет установки 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, упомянутом выше.

Настройка и сборка Sigil (и пакета установки Sigil)

Настройка Sigil с помощью cmake

Когда все предварительные условия соблюдены и все необходимые дополнения добавлены в ваш 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 в графическом интерфейсе).

Расширенные опции 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» будет недоступна.

Компиляция Sigil

Если вы создали файлы NMake Makefiles с помощью cmake (как это делаю я), то скомпилируйте Sigil, набрав nmake (в той же командной строке, которую вы только что настроили) для начала сборки Sigil. Если сборка завершится без ошибок, вы будете готовы создать пакет установщика (оставьте командную строку открытой).

Если вы создали проекты/решения Visual Studio, откройте файл Sigil.sln в каталоге сборки; убедитесь, что конфигурация решения установлена на «Release»; выберите проект ALL_BUILD в обозревателе решений и соберите проект ALL_BUILD из меню сборки (Build->Build ALL_BUILD). Примечание: не собирайте решение. Если сборка завершается без ошибок, вы готовы создать пакет установщика. На данный момент невозможно собрать версию Sigil для отладки с помощью Visual Studio. Поэтому убедитесь, что конфигурация решения изменена на сборку только «Release».

Создание пакета установщика Sigil

Если вы создали файлы NMake Makefiles и успешно скомпилировали Sigil, введите nmake makeinstaller (в той же командной строке, в которой вы только что собрали Sigil), чтобы создать пакет установщика Sigil. Если всё завершится успешно, пакет установщика Sigil будет помещён в папку «installer» каталога sigil-build (ПРИМЕЧАНИЕ: это каталог сборки, а не источника). Если сборка не завершится успешно, возможно, вам придётся удалить «temp_folder» в каталоге сборки, прежде чем продолжить.

Если вы создали Visual Studio...

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-sigil.git
git@api.gitlife.ru:oschina-mirror/mirrors-sigil.git
oschina-mirror
mirrors-sigil
mirrors-sigil
master