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: | ||
- | </ | ||
Строка 203: | Строка 146: | ||
- | ===== Сборка 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 (рекомендовано) ===== | ||
- | ===== Альтернативный способ сборки Psi+ при помощи кросс-компиляции из OS Linux ===== | + | ==== Настройка и сборка окружения для кросс-компиляции MXE ==== |
- | ==== Настройка и сбока окружения для кросс-компиляции MXE ==== | + | |
* Инструкция по скачиванию доступна на официальном сайте проекта [[https:// | * Инструкция по скачиванию доступна на официальном сайте проекта [[https:// | ||
Строка 304: | Строка 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: | ||
Строка 312: | Строка 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** - количество потоков сборки, | ||
Строка 326: | Строка 213: | ||
**ВНИМАНИЕ** Сборка указанных в примере пакетов для 2х целей будет длиться приблизительно 6 часов, в зависимости от мощности вашего сборочного компьютера. | **ВНИМАНИЕ** Сборка указанных в примере пакетов для 2х целей будет длиться приблизительно 6 часов, в зависимости от мощности вашего сборочного компьютера. | ||
+ | |||
+ | **СОВЕТ 1** Делайте резервные копии каталога mxe/usr перед каждым обновлением сборочного окружения, | ||
* После окончания сборки окружения МХЕ можно приступать к сборке Psi+ | * После окончания сборки окружения МХЕ можно приступать к сборке Psi+ | ||
+ | |||
==== Сборка Psi+ в окружении MXE ==== | ==== Сборка Psi+ в окружении MXE ==== | ||
Строка 352: | Строка 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 ../ |
</ | </ | ||
Строка 359: | Строка 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.1590764744.txt.gz · Последнее изменение: 2020/05/29 15:05 — kukuruzo