README.md

    PrabhupadaDictionary

    Харе Кришна, всем! Примите, пожалуйста, мои смиренные поклоны! Слава Шриле Прабхупаде!

    Introduction

    Словарь Шрилы Прабхупады

    Building

    Нужно перед сборкой распаковать архив в каталоге Source\resources\PrabhupadaDictionaryFiles

    Sanskrit.7z.001 Sanskrit.7z.002 Sanskrit.7z.003

    Должна быть база Sanskrit.db . Если архив не разделен на части, то и такое может быть.

    Попробуем собрать Qt и QtCreator и CopperSpice из исходных текстов!

    Следуем по пути, предначертанном на сайте Qt — https://wiki.qt.io/Building_Qt_6_from_Git . Установил Far Manager, 7-zip — полезные штуки!

    Также хочу заметить, что версии разных продуктов постоянно появляются новые. Устанавливайте новые версии.

    1. Устанавливаем PostgreSQL 17 64 bit, качаем отсюда — https://www.postgresql.org/download/windows/ . Путь к PostgreSQL прописывать в переменной Path не надо, его можно прописать в параметрах CMake сборки Qt. Но перед запуском уже готовых программ, которые скомпилированы с помощью Qt нужно будет срочно добавлять этот путь к системной переменной Path примерно такой командой:

    2. Качаем и устанавливаем Git отсюда — https://git-scm.com/download/win . Я разпаковываю в папку C:\Prg\PortableGit . Стараюсь избегать ненужного длинного названия Program Files, с которым не всегда удобно работать. Досталась мне версия PortableGit-2.44.0-64-bit.7z.exe . В системной переменной Path должно быть следующее: C:\Prg\PortableGit\cmd

    3. Устанавливаем CMake, качаем отсюда https://cmake.org/download/ , досталась мне версия cmake-3.28.3-windows-x86_64.zip . В системной переменной Path должно быть следующее: C:\Prg\cmake-3.28.3-windows-x86_64\bin

    4. Устанавливаем Ninja с папку C:\Prg\Ninja . Version 1.11.1 https://github.com/ninja-build/ninja/releases В системной переменной Path прописываем путь C:\Prg\Ninja .

    5. Устанавливаем VulkanSDK https://vulkan.lunarg.com/sdk/home#windows Мне досталась версия VulkanSDK-1.3.275.0-Installer.exe . Ни одну дополнительную галочку не выбирал. Установил по минимуму. В системной переменной Path должно быть следующее: C:\Prg\VulkanSDK\1.3.275.0\Bin

    6. Устанавливаем Python. Попробуем скачать Windows installer (64-bit) Stable Releases на странице https://www.python.org/downloads/windows/ . На данный момент нужно выбрать версию Питона 3.11 python-3.11.8-amd64.exe . Хотя существует более новая версия 3.12, но под неё еще не исправлены исходные тексты Qt. Выбор более ранних версий, тоже приводил к ошибкам компиляции, и некоторые части библиотеки Qt не устанавливались. Оставил все галочки установки по умолчанию. В системную переменную PATH добавил вручную путь C:\Prg\Python\Python311 Установил вручную в Реестре Windows флаг HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled в значение 1. Питон вроде бы предлагает это сделать при установке. Если забыли сразу включить, то ничего страшного — никогда не поздно. Программа для работы с реестром Виндовс — regedit.exe .

    7. Я не устанавливаю Strawberry Perl. Раньше устанавливал. Качаем отсюда — https://strawberryperl.com/releases.html Мне досталась портативная версия strawberry-perl-5.38.0.1-64bit-portable.zip . Распаковал в папку C:\Prg\strawberry В системную переменную Path добавил следующее: C:\Prg\strawberry\perl\bin

    8. Устанавливаем Visual Studio 2022. Качаем отсюда — https://visualstudio.microsoft.com/ru/vs/whatsnew/ Установил поддержку классических приложений C++, мобильных приложений для C++ и два языковых пакета — английский и русский!

    9. Установил WDK Для этого скачал wdksetup.exe . Найти можно на странице https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk#download-icon-for-wdk-step-3-install-wdk . После этого будет доступен отладчик cdb.exe . Он понадобится для работы отладки кода в QtCreator. Находится отладчик тут — C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\cdb.exe . Но QtCreator cfv его найдет!

    10. Устанавливаем в Питоне html5lib, для этого переходим в папку C:\Prg\Python\Python311\Scripts и запускаем команду: pip3 install html5lib

    11. Устанавливаем Win Flex Bizon, качаем отсюда — https://sourceforge.net/projects/winflexbison/ В системную переменную Path добавил следующее: C:\Prg\Win_Flex_Bizon

    12. https://nodejs.org/en/download Мне досталась версия node-v18.18.2-x64.msi . Вместе с node.js не стал устанавливать Шоколадку, которая тянет много пакетов. Эти пакеты плохо контролируются. Еще один Питон! Зачем? Когда удалил все пакеты Chocolatey, но консоль Visual Studio 2022 для режима x64 перестала правильно запускаться. Так что Chocolatey не стал устанавливать.

    13. Устанавливаем libclang отсюда — https://download.qt.io/development_releases/prebuilt/libclang/ Мне досталась версия libclang-release_18.1.0-based-windows-vs2019_64.7z Распаковываем в папку C:\Prg\libclang_vs В системную переменную Path не надо добавлять этот путь. Сразу в параметрах CMake пропишем, равно как и путь к PostgreSQL!

    14. Нужно установить gperf. Скачал отсюда https://sourceforge.net/projects/gnuwin32/files/gperf/ не самую свежую версию gperf-3.0.1.exe и установил её в папке C:\Prg\GnuWin32 В системную переменную Path прописал путь C:\Prg\GnuWin32\bin

    15. Установил OpenSSL . Её требовала CopperSpice — библиотека, которая давным давно отпочковалась от Qt. Сам Qt её не требует. Качать можно отсюда — https://github.com/CristiFati/Prebuilt-Binaries/tree/master/OpenSSL/ Мне досталась версия OpenSSL-3.2.1-Win-pc064.zip . Распаковываем OpenSSL в каталог C:\Prg\OpenSSL\3.2.1, а в системную переменную Path прописываем путь C:\Prg\OpenSSL\3.2.1\bin

    16. В системную переменную Path добавить путь к библиотеке Qt, чтобы другие программы, написанные на Qt могли запускаться. У меня этот путь такой: C:\QtSource\ReleaseVS\Lib\bin

    17. Теперь перейдём к закачке исходных текстов Qt. Исходники Qt будем записывать в папку C:\QtSource\qt6 . Для этого в командной строке (я пользуюсь Far Manager) сделаем текущим каталог C:\QtSource\ и запустим команду: git clone git://code.qt.io/qt/qt5.git qt6 либо эту git clone https://code.qt.io/qt/qt5.git qt6 перейдем в каталог C:\QtSource\qt6 командой cd qt6 тут мы можем перейти в нужную ветку Qt. По умолчанию мы попадаем в ветку разработчиков dev, можно включить другую ветку, если Вы знаете её имя. Команда переключения веток такая: git switch dev потом запустим команду: init-repository.bat Она скачает все исходные тексты.

    18. Теперь перейдём к закачке исходных текстов QtCreator. Перейдем в каталог C:\QtSource Запускаем команду git clone git://code.qt.io/qt-creator/qt-creator.git или такую git clone https://code.qt.io/qt-creator/qt-creator.git

    19. Теперь перейдем к очень важному этапу создания нужных папок! У нас уже есть каталог C:\QtSource В нем есть каталог C:\QtSource\qt6, в который мы закачали исходные тексты Qt Также в нём есть C:\QtSource\qt-creator , в который мы закачали исходные тексты QtCreator. Создадим каталог C:\QtSource\Bat — в нем будут bat файлы для запуска нужных для компиляции команд. Создадим каталог C:\QtSource\Log — в нем будут log файлы, в которых будут отображаться весь процесс компиляции Qt. Создадим каталог qtcreator_build_vs — в нем будет скомпилирован и собран QtCreator с помощью компилятора MSVC, который устаановился вместе с Visual Studio 2022. Можно скомпилировать все и с помощью GCC 11.2, но в этом случае невозможно скомпилировать QtWebEngine и также не получается скомпилировать модуль для PostgreSQL. Создадим каталоги: C:\QtSource\ReleaseVS C:\QtSource\ReleaseVS\Build — тут будут храниться результаты конфигурирования библиотеки Qt C:\QtSource\ReleaseVS\Lib — тут будет храниться уже готовая к употреблению библиотека Qt

    20. Теперь перейдем к очень важному этапу создания нужных файлов! Звёздочки копировать не надо! Они просто служат для обозначения границ — начало файла и конец файла. Создадим файл C:\QtSource\Bat\LogReleaseVSConfig.bat и запишем его содержимое таким образом:

    ReleaseVSConfig.bat => ./../Log/ReleaseVSConfig.log
    

    Создадим файл C:\QtSource\Bat\LogReleaseVSBuild.bat и запишем его содержимое таким образом:

    ReleaseVSBuild.bat => ./../Log/ReleaseVSBuild.log
    

    Создадим файл C:\QtSource\Bat\ReleaseVSConfig.bat и запишем его содержимое таким образом:

    rem set Path=%Path%;C:\Prg\PostgreSQL\17
    set BUILD_DIR=C:/QtSource
    
    cd %BUILD_DIR%/ReleaseVS/Build
    
    %BUILD_DIR%/Qt6/configure.bat ^
    -release ^
    -sql-psql ^
    — -DCMAKE_PREFIX_PATH=C:/Prg/libclang_vs;C:/Prg/PostgreSQL/17
    

    Создадим файл C:\QtSource\Bat\ReleaseVSBuild.bat и запишем его содержимое таким образом:

    rem set Path=%Path%;C:\Prg\PostgreSQL\17;C:\Prg\libclang_vs
    set BUILD_DIR=C:/QtSource
    cd %BUILD_DIR%/ReleaseVS/Build
    cmake —build . —parallel 5
    cd %BUILD_DIR%/ReleaseVS/Build
    cmake —install .
    

    Создадим файл C:\QtSource\Bat\Log-qt-creator-build-vs.bat и запишем его содержимое таким образом:

    qt-creator-build-vs.bat => ./../Log/qt-creator-build-vs.log
    

    Создадим файл C:\QtSource\Bat\qt-creator-build-vs.bat и запишем его содержимое таким образом:

    rem set Path=%Path%;C:\QtSource\ReleaseVS\Lib\bin
    cd C:\QtSource\qtcreator_build_vs
    
    cmake -DCMAKE_BUILD_TYPE=Release -G Ninja -DCMAKE_PREFIX_PATH=C:\QtSource\ReleaseVS\Lib;C:\Prg\libclang_vs C:\QtSource\qt-creator
    cmake —build .
    
    1. Теперь мы должны запустить терминал (консоль), но не просто любую командную оболочку, а ту которую предоставила нам программа Visual Studio 2022. Я выбрал x64 Native Tools. У меня этот ярлык находится тут: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2022\Visual Studio Tools\VC\x64 Native Tools Command Prompt for VS 2022.lnk Для удобства я его закрепил на панели задач, так как приходится часто его нажимать. Обычно я сразу же перехожу в каталог Far Manager и запускаю его. Так удобнее. Например так: cd C:\P + клавиша Tab — получаем cd C:\Prg, набираем символы \f и нажимаем клавишу Tab, получаем cd C:\Prg\Far Manager, нажимаем Enter, набираем Far и снова нажимаем Enter — вот Far Manager и запустился. Если же мы выберем другую архитектуру компилятора, наприме x86_x64, то мы тоже сможем скомпилировать библиотеку Qt и в ней, но в этом случае на неудастся соединиться с сервером PostgreSQL при помощи его родных библиотек, как например C:\Prg\PostgreSQL\16\bin\libpq.dll и подобных. Для успешного соединения нам, вероятней всего понадобится набор таких библиотек, скомпилированных именно для архитектуры x86_x64.

    2. Теперь просто последовательно запускаем три файла C:\QtSource\Bat\LogReleaseVSConfig.bat C:\QtSource\Bat\LogReleaseVSBuild.bat C:\QtSource\Bat\Log-qt-creator-build-vs.bat При этом нужно ждать, пока завершится выполнения каждого файла, перед тем как запускать следующий.

    Вот и всё! В итоге мы получили рабочую библиотеку Qt и замечательный инструмент Qt Creator! Можно на рабочем столе создать ярлык для запуска Qt Creator и работать по-стахановски. Qt Creator находится здесь — C:\QtSource\qtcreator_build_vs\bin\qtcreator.exe .

    Устанавливаем CopperSpice! Каталоги можете выбрать другие.

    1. Создаем каталог D:\CopperSpice
    2. Выполняем клонирование репозитория CopperSpice командой для оригинального CopperSpice git clone https://github.com/copperspice/copperspice Source

    для форка CopperSpice git clone https://github.com/Navadvipa-Chandra-das/copperspice Source

    git clone https://github.com/copperspice/cs_designer

    git clone https://github.com/copperspice/doxypressapp

    Исходные тексты KitchenSink я распоковал в каталог D:/CopperSpicePrg/KitchenSink

    1. Создаем каталоги: D:\CopperSpice\Bat

    D:\CopperSpice\Release\Build

    D:\CopperSpice\Release\Lib

    D:\CopperSpice\Debug\Build

    D:\CopperSpice\Debug\Lib

    D:\CopperSpice\ReleaseDesigner\Build

    D:\CopperSpice\ReleaseDesigner\Lib

    D:\CopperSpice\ReleaseDoxypressApp\Build

    D:\CopperSpice\ReleaseDoxypressApp\Lib

    D:\CopperSpice\ReleaseKitchenSink\Build

    D:\CopperSpice\ReleaseKitchenSink\Lib

    1. Создаем файлы: D:\CopperSpice\Bat\Release.bat
    set BUILD_DIR=D:/CopperSpice
    
    cd %BUILD_DIR%/Release/Build
    
    cmake -G "Ninja" ^
      -DCMAKE_BUILD_TYPE=Release ^
      -DCMAKE_INSTALL_PREFIX=%BUILD_DIR%/Release/Lib ^
      -DOPENSSL_ROOT_DIR=C:/Prg/OpenSSL/3.4.0 ^
      -DPostgreSQL_ROOT=C:\Prg\PostgreSQL\17 ^
      %BUILD_DIR%/Source
    
    ninja
    
    ninja install
    

    D:\CopperSpice\Bat\Debug.bat

    set BUILD_DIR=D:/CopperSpice
    
    cd %BUILD_DIR%/Debug/Build
    
    cmake -G "Ninja" ^
      -DCMAKE_BUILD_TYPE=Debug ^
      -DCMAKE_INSTALL_PREFIX=%BUILD_DIR%/Debug/Lib ^
      -DOPENSSL_ROOT_DIR=C:/Prg/OpenSSL/3.4.0 ^
      -DPostgreSQL_ROOT=C:\Prg\PostgreSQL\17 ^
      %BUILD_DIR%/Source
    
    ninja
    
    ninja install
    

    D:\CopperSpice\Bat\ReleaseDesigner.bat

    set BUILD_DIR=D:/CopperSpice/ReleaseDesigner/Build
    
    cd %BUILD_DIR%
    cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release ^
    -DCMAKE_INSTALL_PREFIX="D:/CopperSpice/ReleaseDesigner/Bin" ^
    -DCMAKE_PREFIX_PATH="D:/CopperSpice/Release/Lib/cmake/CopperSpice" ^
    D:/CopperSpice/cs_designer
    
    cd %BUILD_DIR%
    ninja -v
    
    cd %BUILD_DIR%
    ninja -v install
    

    D:\CopperSpice\Bat\ReleaseDoxypressApp.bat

    set BUILD_DIR=D:/CopperSpice/ReleaseDoxypressApp/Build
    
    cd %BUILD_DIR%
    cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release ^
    -DCMAKE_INSTALL_PREFIX="D:/CopperSpice/ReleaseDoxypressApp/Bin" ^
    -DCMAKE_PREFIX_PATH="D:/CopperSpice/Release/Lib/cmake/CopperSpice" ^
    D:/CopperSpice/doxypressapp
    
    cd %BUILD_DIR%
    ninja -v
    
    cd %BUILD_DIR%
    ninja -v install
    

    D:\CopperSpice\Bat\ReleaseKitchenSink.bat

    set BUILD_DIR=D:/CopperSpice/ReleaseKitchenSink/Build
    
    cd %BUILD_DIR%
    cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release ^
    -DCMAKE_INSTALL_PREFIX="D:/CopperSpice/ReleaseKitchenSink/Bin" ^
    -DCMAKE_PREFIX_PATH="D:/CopperSpice/Release/Lib/cmake/CopperSpice" ^
    D:/CopperSpicePrg/KitchenSink
    
    cd %BUILD_DIR%
    ninja -v
    
    cd %BUILD_DIR%
    ninja -v install
    
    1. Смотри пенкт 21. Теперь мы должны запустить терминал (консоль), но не просто любую командную оболочку, а ту которую предоставила нам программа Visual Studio 2022. Я выбрал x64 Native Tools. У меня этот ярлык находится тут: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2022\Visual Studio Tools\VC\x64 Native Tools Command Prompt for VS 2022.lnk

    Выполним команду: cd D:\CopperSpice\Bat

    Можно запустить Release.bat или Release.bat > Release.log для удобного просмотра лог-файла. Эта команда установит Release версию CopperSpice

    Команда Debug.bat > Debug.log установит Debug версию CopperSpice

    Команда ReleaseDesigner.bat > ReleaseDesigner.log установит D:\CopperSpice\ReleaseDesigner\Bin\Designer.exe

    Команда ReleaseDoxypressApp.bat > ReleaseDoxypressApp.log Установит D:\CopperSpice\ReleaseDoxypressApp\Bin\DoxyPressApp.exe

    Команда ReleaseKitchenSink.bat > ReleaseKitchenSink.log Установит DoxyPressApp.exe D:\CopperSpice\ReleaseKitchenSink\Bin\KitchenSink.exe

    1. Установим официальный клиент PostgreSQL для C++ - libpqxx ! cd D:\CopperSpice git clone https://github.com/jtv/libpqxx

    2. Создадим каталоги (папки) D:\CopperSpice\ReleaseLibpqxx\Build D:\CopperSpice\ReleaseLibpqxx\Lib

    3. Создадим файл D:\CopperSpice\Bat\ReleaseLibpqxx.bat

    set BUILD_DIR=D:/CopperSpice
    
    cd %BUILD_DIR%/ReleaseLibpqxx/Build
    
    cmake -G "Ninja" ^
      -DCMAKE_BUILD_TYPE=Release ^
      -DCMAKE_INSTALL_PREFIX=%BUILD_DIR%/ReleaseLibpqxx/Lib ^
      -DPostgreSQL_ROOT=C:\Prg\PostgreSQL\17 ^
      %BUILD_DIR%/libpqxx
    
    ninja
    
    ninja install
    
    1. Выполним команды cd D:\CopperSpice\Bat ReleaseLibpqxx.bat > ReleaseLibpqxx.log

    Харе Кришна! С уважением, Навадвипа Чандра дас.

    License

    This program is released under the 2-Clause BSD license. For more information refer to the LICENSE file provided with this project.

    References

    • Website: http://nizhnyaya-navadvipa.ru/
    • Email: navadvipa.chandra.das at nizhnyaya-navadvipa.ru
    Описание

    Санскритский словарь Шрилы Прабхупады на CopperSpice

    Конвейеры
    0 успешных
    0 с ошибкой