Skip to content

heimdallr/books

License: MIT C++ Static Badge CMake Qt SQLite Visual Studio Windows Linux

FLibrary - каталогизатор электронной библитотеки

Скриншоты image image

Сравнение с MyHomeLib

Сборка

Клонируем исходники с сабмодулями

git clone https://github.com/heimdallr/books.git --recursive

Устанавливаем и настраиваем conan

Инструкция

Устанавливаем модули, которых нет в conan

  • Qt6 (6.10.0 минимум, но лучше 6.11) 1 2
  • 7zip

Windows

Проверялось на Windows 10 и 11, компилятор от MS в средах MSVS2022 и QtCreator

Добавляем в PATH пути к:

  • conan.exe
  • cmake.exe, версия cmake должна поддерживать вашу версию MSVS, conan,... короче, берите cmake посвежее
  • git.exe, необязательно, но полезно, позволит в логах видеть хэш текущего коммита
  • Inno Setup, если нужен инсталлятор

Конфигурируем:

В батнике configure.bat поменять пути к зависимостям на ваши, запустить его. Возможно, сработают и другие способы, типа cmake-gui, или открыть в MSVS папку с исходниками.

Собираем:

В результате конфигурирования в папке build будет создан солюшн FLibrary.sln. В нём надо собрать проект FLibrary.

Ещё варианты:

  • Можно запустить батник build.bat. Если окружение настроено правильно, то в папке build/installer будут собраны инсталляторы и архив портабельной версии программы.
  • Можно открыть CMakeLists.txt в QtCreator

Linux

Проверялось на Ubuntu 24.04, компилировалось gcc 15.2, 16.1

Убеждаемся в наличии gcc с поддержкой c++23
Выполняем команды
cd your/path/to/cloned/repo/books
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DQt6_DIR=your/path/to/Qt6/lib/cmake/Qt6 -G Ninja
cmake --build .
cmake --install .
Ещё варианты
  • Запустить скрипт build.sh. В результате в папке build будет создан архив FLibrary-x.y.z-portable-Linux.tar.xz
  • Запустить скрипт с параметром build.sh DEB. В папке build будет собран пакет FLibrary-x.y.z-setup-Linux.deb

При использовании Qt, не собранного статически с libjpeg, возможна runtime-ошибка qt.gui.imageio.jpeg: Wrong JPEG library version: library is 90, caller expects 62. Некоторым помогает добавление в начало start.sh указания LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjpeg.so.62.x.y, где x.y - ваша версия системной libjpeg.so. Спасибо уважаемому Simply234 за этот workaround.

Footnotes

  1. Ну ладно, Qt 6.11 уже есть в conan'е. Но всё равно лучше собрать самостоятельно, с патчами src/home/script/conan/patch/qt. И слинковать с icu из conan.

  2. Если есть необходимость запуска на Windows7, можно и с Qt5. Я собирал с 5.15.16

About

FLibrary: another e-book cataloger

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors