ru:mingw32
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| ru:mingw32 [2020/05/29 15:05] – kukuruzo | ru:mingw32 [2024/06/16 11:46] (текущий) – kukuruzo | ||
|---|---|---|---|
| Строка 3: | Строка 3: | ||
| ===== Необходимый инструментарий ===== | ===== Необходимый инструментарий ===== | ||
| - | 1. **[[https://download.qt.io/official_releases/ | + | 1. **[[http://www.cmake.org/|CMake build system]]** |
| - | 2. **[[http://sourceforge.net/projects/psiplus/files/MS-Windows/Dev/MinGW-i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z/download|MinGW v4.8.2]]** //~45 MB// | + | 2. **[[https://github.com/git-for-windows/git/releases|Git for Windows]]** |
| - | 3. **[[http:// | + | 3. **[[http:// |
| - | 4. **[[https://github.com/git-for-windows/git/releases|Git for Windows]]** - набор утилит для | + | 4. **[[http://www.gnu.org/software/libidn/|GNU IDN Library (LibIDN)]]** -- скомпилированную версию (v1.28) можно взять [[http://ftp.gnu.org/gnu/libidn/ |
| - | 5. **[[http:// | + | 5. **[[http:// |
| - | + | ||
| - | 6. **[[http:// | + | |
| - | + | ||
| - | 7. **[[http:// | + | |
| 8. **[[http:// | 8. **[[http:// | ||
| **__Опционально__: | **__Опционально__: | ||
| - | * **[[http:// | ||
| - | * **[[http:// | ||
| * **[[https:// | * **[[https:// | ||
| - | * < | ||
| - | * < | ||
| - | * < | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ===== Подготовка к сборке, | ||
| - | |||
| - | * Устанавливаем необходимый инструментарий, | ||
| - | * Создаём в папке **C: | ||
| - | * Распаковываем содержимое архива **[[http:// | ||
| - | * Распаковываем содержимое архива **[[http:// | ||
| - | * Скачиваем и распаковываем содержимое архива **[[http:// | ||
| - | * файлы из папки **bin** копируем в папку **Psi+** (например, | ||
| - | * папки **include** и **lib** копируем в папку **C: | ||
| - | * < | ||
| - | * < | ||
| - | < | ||
| - | ........ | ||
| - | QMAKE_CC = ccache | ||
| - | ........ | ||
| - | QMAKE_CXX = ccache $${CROSS_COMPILE}g++ | ||
| - | </ | ||
| - | * В свойствах компьютера (Start → Settings → Control Panel → System Properties → Advanced → Environment Variables) добавляем необходимые пути в системную переменную [[http:// | ||
| - | < | ||
| - | C:\>path | ||
| - | </ | ||
| - | |||
| - | < | ||
| - | PATH=C: | ||
| - | </ | ||
| - | А также создаём новые системные переменные __(при необходимости заменив пути на свои)__: | ||
| - | < | ||
| - | GITDIR=C: | ||
| - | LIBIDNDIR=C: | ||
| - | MINGWDIR=C: | ||
| - | OPENSSLDIR=C: | ||
| - | QCADIR=C: | ||
| - | QCONFDIR=C: | ||
| - | QMAKESPEC=win32-g++ | ||
| - | QTDIR=C: | ||
| - | ZLIBDIR=C: | ||
| - | </ | ||
| - | |||
| - | **__Примечание 1:__** Переменные обновятся только для вновь запущенных процессов, | ||
| - | |||
| - | **__Примечание 2:__** Если у вас закрыт доступ наружу по порту **9418**, то вы **не сможете** скачать исходный код **Psi** и **Psi+** по протоколу **[[git:// | ||
| - | < | ||
| - | C: | ||
| - | </ | ||
| Строка 201: | Строка 144: | ||
| Если сборка прошла успешно, | Если сборка прошла успешно, | ||
| - | ===== < | ||
| - | < | ||
| Строка 209: | Строка 150: | ||
| + | ===== Способ сборки Psi+ при помощи кросс-компиляции из OS Linux (рекомендовано) ===== | ||
| - | + | ==== Настройка и сборка окружения для кросс-компиляции MXE ==== | |
| - | ===== Сборка Psi+ в автоматическом режиме (рекомендуется) ===== | + | |
| - | + | ||
| - | * Скачиваем скрипт **[[https:// | + | |
| - | * Включаем необходимый для сборки параметр **MakeClassic** в положение **1** (если он ещё не включен): | + | |
| - | < | + | |
| - | SET MakeClassic=1 | + | |
| - | SET UploadClassic=0 | + | |
| - | SET MakeClassicDebug=0 | + | |
| - | SET UploadClassicDebug=0 | + | |
| - | SET MakeWebkit=0 | + | |
| - | SET UploadWebkit=0 | + | |
| - | SET MakeWebkitDebug=0 | + | |
| - | SET UploadWebkitDebug=0 | + | |
| - | SET MakePlugins=0 | + | |
| - | SET UploadPlugins=0 | + | |
| - | SET MakePluginsDebug=0 | + | |
| - | SET UploadPluginsDebug=0 | + | |
| - | </ | + | |
| - | * Запускаем скрипт **auto-compiler-all-in-one.cmd** в папке **C: | + | |
| - | + | ||
| - | Если скрипт отработал успешно, | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | ===== Компиляция плагинов Psi+ ===== | + | |
| - | + | ||
| - | * Скачиваем скрипт **[[https:// | + | |
| - | * Включаем необходимый для сборки параметр **MakePlugins** в положение **1**: | + | |
| - | < | + | |
| - | SET MakeClassic=0 | + | |
| - | SET UploadClassic=0 | + | |
| - | SET MakeClassicDebug=0 | + | |
| - | SET UploadClassicDebug=0 | + | |
| - | SET MakeWebkit=0 | + | |
| - | SET UploadWebkit=0 | + | |
| - | SET MakeWebkitDebug=0 | + | |
| - | SET UploadWebkitDebug=0 | + | |
| - | SET MakePlugins=1 | + | |
| - | SET UploadPlugins=0 | + | |
| - | SET MakePluginsDebug=0 | + | |
| - | SET UploadPluginsDebug=0 | + | |
| - | </ | + | |
| - | * Запускаем скрипт **auto-compiler-all-in-one.cmd** в папке **C: | + | |
| - | + | ||
| - | Если скрипт отработал успешно, | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | ===== Альтернативный способ сборки Psi+ при помощи кросс-компиляции из OS Linux ===== | + | |
| - | ==== Настройка и сбока окружения для кросс-компиляции MXE ==== | + | |
| * Инструкция по скачиванию доступна на официальном сайте проекта [[https:// | * Инструкция по скачиванию доступна на официальном сайте проекта [[https:// | ||
| Строка 312: | Строка 190: | ||
| # The three lines below makes `make` build these "local | # The three lines below makes `make` build these "local | ||
| # packages" | # packages" | ||
| - | LOCAL_PKG_LIST := qtbase qtmultimedia qtimageformats qttools qtwebkit qtwinextras | + | LOCAL_PKG_LIST := qtbase qtmultimedia qtimageformats qttools qtwebkit qtwinextras qtkeychain \ |
| - | qttranslations hunspell | + | qttranslations hunspell libotr tidy-html5 minizip \ |
| - | gstreamer gst-plugins-base gst-plugins-good opus | + | gstreamer gst-plugins-base gst-plugins-good |
| .DEFAULT_GOAL | .DEFAULT_GOAL | ||
| local-pkg-list: | local-pkg-list: | ||
| Строка 320: | Строка 198: | ||
| __Особое внимание нужно уделить переменным: | __Особое внимание нужно уделить переменным: | ||
| - **MXE_TARGETS** где нужно указать цели сборки МХЕ, подробнее про это можно почитать в каталоге **docs** или кратко в файле **README.md**. //В примере окружение МХЕ будет компилироваться для 2х целей: i686-w64-mingw32.shared - 32х битная среда, динамические бибилиотеки (*.dll) на выходе; | - **MXE_TARGETS** где нужно указать цели сборки МХЕ, подробнее про это можно почитать в каталоге **docs** или кратко в файле **README.md**. //В примере окружение МХЕ будет компилироваться для 2х целей: i686-w64-mingw32.shared - 32х битная среда, динамические бибилиотеки (*.dll) на выходе; | ||
| + | - **MXE_TMP** - каталог где будет происходить сборка окружения MXE, если у вас много оперативной памяти (> | ||
| - **LOCAL_PKG_LIST** - список пакетов, | - **LOCAL_PKG_LIST** - список пакетов, | ||
| - **JOBS** - количество потоков сборки, | - **JOBS** - количество потоков сборки, | ||
| Строка 334: | Строка 213: | ||
| **ВНИМАНИЕ** Сборка указанных в примере пакетов для 2х целей будет длиться приблизительно 6 часов, в зависимости от мощности вашего сборочного компьютера. | **ВНИМАНИЕ** Сборка указанных в примере пакетов для 2х целей будет длиться приблизительно 6 часов, в зависимости от мощности вашего сборочного компьютера. | ||
| + | |||
| + | **СОВЕТ 1** Делайте резервные копии каталога mxe/usr перед каждым обновлением сборочного окружения, | ||
| * После окончания сборки окружения МХЕ можно приступать к сборке Psi+ | * После окончания сборки окружения МХЕ можно приступать к сборке Psi+ | ||
| + | |||
| ==== Сборка Psi+ в окружении MXE ==== | ==== Сборка Psi+ в окружении MXE ==== | ||
| Строка 360: | Строка 242: | ||
| <code bash> | <code bash> | ||
| cd ~/ | cd ~/ | ||
| - | i686-w64-mingw32.shared-cmake -DDEV_MODE=ON -DENABLE_PLUGINS=ON -DBUILD_PSIMEDIA=ON -DCHAT_TYPE=webkit ../ | + | i686-w64-mingw32.shared-cmake -DDEV_MODE=ON -DBUNDLED_IRIS_ALL=ON -DENABLE_PLUGINS=ON -DBUILD_PSIMEDIA=ON -DCHAT_TYPE=webkit ../ |
| </ | </ | ||
| Строка 367: | Строка 249: | ||
| Эта команда запустит конфигурацию Psi+ для сборки самой Psi+ чатлогом на движке QtWebkit, а также всех плагинов и плагина psimedia | Эта команда запустит конфигурацию Psi+ для сборки самой Psi+ чатлогом на движке QtWebkit, а также всех плагинов и плагина psimedia | ||
| - | * Запускаем команды сборки и подготовки собранных бинарных файлов к работе | + | * Запускаем команду сборки и подготовки собранных бинарных файлов к работе |
| <code bash> | <code bash> | ||
| - | make -j4 \ #тоже самое что и JOBS в файле конфигурации МХЕ | + | i686-w64-mingw32.shared-cmake --build . --target all --target prepare-bin --target prepare-bin-libs --parallel 4 #тоже самое что и JOBS в файле конфигурации МХЕ |
| - | && make prepare-bin \ | + | |
| - | && make prepare-bin-libs | + | |
| </ | </ | ||
ru/mingw32.1590764719.txt.gz · Последнее изменение: 2020/05/29 15:05 — kukuruzo
