Инструменты пользователя

Инструменты сайта


ru:mingw32

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
ru:mingw32 [2020/05/29 15:08] kukuruzoru:mingw32 [2024/06/16 11:46] (текущий) kukuruzo
Строка 18: Строка 18:
   * **[[https://github.com/zdenop/hunspell-mingw|Hunspell for MinGW]]** - библиотека проверки орфографии   * **[[https://github.com/zdenop/hunspell-mingw|Hunspell for MinGW]]** - библиотека проверки орфографии
  
- 
- 
- 
- 
-===== Подготовка к сборке, настройка переменных окружения и необходимых библиотек ===== 
- 
-  * Устанавливаем необходимый инструментарий, указанный выше. [[https://github.com/msysgit/msysgit/releases|Git]] рекомендуется устанавливать в корень диска, например, в **C:\Git** 
-  * Создаём в папке **C:\MinGW\bin** новый файл **make.exe** путём копирования и переименования из файла **mingw32-make.exe** **(ВРЕМЕННЫЙ КОСТЫЛЬ)** 
-  * Распаковываем содержимое архива **[[http://sourceforge.net/projects/psiplus/files/MS-Windows/Dev/zlib-1.2.8-win32.7z/download|zlib-1.2.8-win32.7z]]** в папку **C:\Qt\zlib** 
-  * Распаковываем содержимое архива **[[http://sourceforge.net/projects/psiplus/files/MS-Windows/Dev/libidn-1.28-win32.zip/download|libidn-1.28-win32.zip]]** в папку **C:\Qt\LibIDN** 
-  * Скачиваем и распаковываем содержимое архива **[[http://sourceforge.net/projects/psiplus/files/MS-Windows/Dev/otrplugin-deps-mingw-win32.7z/download|otrplugin-deps-mingw-win32.7z]]** следующим образом: 
-    * файлы из папки **bin** копируем в папку **Psi+** (например, C:\Program Files (x86)\Psi+) 
-    * папки **include** и **lib** копируем в папку **C:\MinGW\i686-w64-mingw32** 
-  * <del>Распаковываем утилиту **ccache.exe** и библиотеку **zlib1.dll** из архива **[[http://sourceforge.net/projects/psiplus/files/MS-Windows/Dev/ccache-3.1-win32.7z/download|ccache-3.1-win32.7z]]** в папку **C:\MinGW\bin**</del> 
-  * <del>Редактируем строки **QMAKE_CC** и **QMAKE_CXX** в файле **C:\Qt\4.8.7\mkspecs\win32-g++\qmake.conf** (дописываем **//ccache//** в следующих строках)</del> 
-<del><code> 
-........ 
-QMAKE_CC = ccache  $${CROSS_COMPILE}gcc 
-........ 
-QMAKE_CXX = ccache $${CROSS_COMPILE}g++ 
-</code></del> 
-  * В свойствах компьютера (Start → Settings → Control Panel → System Properties → Advanced → Environment Variables) добавляем необходимые пути в системную переменную [[http://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D1%81%D1%80%D0%B5%D0%B4%D1%8B_Windows|PATH]] __(при необходимости пути следует заменить на свои)__: 
-<code> 
-C:\>path 
-</code> 
- 
-<code> 
-PATH=C:\MinGW\bin;C:\Qt\QConf;C:\cmake\bin;C:\Program Files (x86)\GNU\GnuPG\pub 
-</code> 
-А также создаём новые системные переменные __(при необходимости заменив пути на свои)__: 
-<code> 
-GITDIR=C:\Git 
-LIBIDNDIR=C:\Qt\LibIDN 
-MINGWDIR=C:\MinGW 
-OPENSSLDIR=C:\OpenSSL 
-QCADIR=C:\Qt\QCA 
-QCONFDIR=C:\Qt\QConf 
-QMAKESPEC=win32-g++ 
-QTDIR=C:\Qt\4.8.7 
-ZLIBDIR=C:\Qt\zlib 
-</code> 
- 
-**__Примечание 1:__** Переменные обновятся только для вновь запущенных процессов, т.е. требуется перезапустить **cmd** с правами администратора (в крайнем случае - перезагрузить систему). 
- 
-**__Примечание 2:__** Если у вас закрыт доступ наружу по порту **9418**, то вы **не сможете** скачать исходный код **Psi** и **Psi+** по протоколу **[[git://]]**. В этом случае рекомендуется в глобальном конфиге **Git** добавить следующий параметр: 
-<code> 
-C:\Git\bin\git config --global url."https://".insteadOf git:// 
-</code> 
  
  
Строка 194: Строка 146:
  
  
-===== Сборка Psi+ в автоматическом режиме (устарело и больше не работает) ===== 
- 
-  * Скачиваем скрипт **[[https://raw.githubusercontent.com/psi-plus/maintenance/master/scripts/win32/auto-compiler-all-in-one.cmd|auto-compiler-all-in-one.cmd]]** в новую папку (например, **C:\build**) 
-  * Включаем необходимый для сборки параметр **MakeClassic** в положение **1** (если он ещё не включен): 
-<code> 
-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 
-</code> 
-  * Запускаем скрипт **auto-compiler-all-in-one.cmd** в папке **C:\build** и ждём окончания его выполнения 
- 
-Если скрипт отработал успешно, то в рабочей папке **C:\build** появится архив, содержащий скомпилированный и готовый к работе бинарный файл **psi-plus.exe**. 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-===== Компиляция плагинов Psi+ ===== 
- 
-  * Скачиваем скрипт **[[https://raw.githubusercontent.com/psi-plus/maintenance/master/scripts/win32/auto-compiler-all-in-one.cmd|auto-compiler-all-in-one.cmd]]** в новую папку (например, **C:\build**) 
-  * Включаем необходимый для сборки параметр **MakePlugins** в положение **1**: 
-<code> 
-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 
-</code> 
-  * Запускаем скрипт **auto-compiler-all-in-one.cmd** в папке **C:\build** и ждём окончания его выполнения 
- 
-Если скрипт отработал успешно, то в рабочей папке **C:\build** появится архив, содержащий скомпилированные и готовые к работе плагины Psi+. 
  
  
  
  
 +===== Способ сборки Psi+ при помощи кросс-компиляции из OS Linux (рекомендовано) =====
  
-===== Альтернативный способ сборки Psi+ при помощи кросс-компиляции из OS Linux ===== +==== Настройка и сборка окружения для кросс-компиляции MXE ====
-==== Настройка и сбока окружения для кросс-компиляции MXE ====+
  
   * Инструкция по скачиванию доступна на официальном сайте проекта [[https://mxe.cc/#download|https://mxe.cc/#download]]   * Инструкция по скачиванию доступна на официальном сайте проекта [[https://mxe.cc/#download|https://mxe.cc/#download]]
Строка 295: Строка 190:
 # The three lines below makes `make` build these "local # The three lines below makes `make` build these "local
 # packages" instead of all packages. # packages" instead of all packages.
-LOCAL_PKG_LIST := qtbase qtmultimedia qtimageformats qttools qtwebkit qtwinextras qca qtkeychain \ +LOCAL_PKG_LIST := qtbase qtmultimedia qtimageformats qttools qtwebkit qtwinextras qtkeychain \ 
-qttranslations hunspell libidn libotr tidy-html5 minizip libsignal-protocol-c +qttranslations hunspell libotr tidy-html5 minizip \ 
-gstreamer gst-plugins-base gst-plugins-good opus+gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad opus
 .DEFAULT_GOAL  := local-pkg-list .DEFAULT_GOAL  := local-pkg-list
 local-pkg-list: $(LOCAL_PKG_LIST) local-pkg-list: $(LOCAL_PKG_LIST)
Строка 303: Строка 198:
 __Особое внимание нужно уделить переменным:__ __Особое внимание нужно уделить переменным:__
         - **MXE_TARGETS** где нужно указать цели сборки МХЕ, подробнее про это можно почитать в каталоге **docs** или кратко в файле **README.md**. //В примере окружение МХЕ будет компилироваться для 2х целей: i686-w64-mingw32.shared - 32х битная среда, динамические бибилиотеки (*.dll) на выходе; x86_64-w64-mingw32.shared - 64х битная среда, динамические бибилиотеки (*.dll) на выходе.//         - **MXE_TARGETS** где нужно указать цели сборки МХЕ, подробнее про это можно почитать в каталоге **docs** или кратко в файле **README.md**. //В примере окружение МХЕ будет компилироваться для 2х целей: i686-w64-mingw32.shared - 32х битная среда, динамические бибилиотеки (*.dll) на выходе; x86_64-w64-mingw32.shared - 64х битная среда, динамические бибилиотеки (*.dll) на выходе.//
 +        - **MXE_TMP** - каталог где будет происходить сборка окружения MXE, если у вас много оперативной памяти (>=32Гб) и каталог **/tmp** монтируется как файловая система **tmpfs**, то данную строчку можно раскомментировать для ускорения сборки
         - **LOCAL_PKG_LIST** - список пакетов, которые будут компилироваться по-умолчанию. //В примере показан минимальный список необходимый для сборки полного комплекта Psi+//         - **LOCAL_PKG_LIST** - список пакетов, которые будут компилироваться по-умолчанию. //В примере показан минимальный список необходимый для сборки полного комплекта Psi+//
         - **JOBS** - количество потоков сборки, используется для ускорения сборки на многоядерных системах, значение обычно ставят из соображения **количество ядер процессора + 1**         - **JOBS** - количество потоков сборки, используется для ускорения сборки на многоядерных системах, значение обычно ставят из соображения **количество ядер процессора + 1**
Строка 317: Строка 213:
  
 **ВНИМАНИЕ** Сборка указанных в примере пакетов для 2х целей будет длиться приблизительно 6 часов, в зависимости от мощности вашего сборочного компьютера. **ВНИМАНИЕ** Сборка указанных в примере пакетов для 2х целей будет длиться приблизительно 6 часов, в зависимости от мощности вашего сборочного компьютера.
 +
 +**СОВЕТ 1** Делайте резервные копии каталога mxe/usr перед каждым обновлением сборочного окружения, особенно если собираете MXE из master
  
   * После окончания сборки окружения МХЕ можно приступать к сборке Psi+   * После окончания сборки окружения МХЕ можно приступать к сборке Psi+
 +
 ==== Сборка Psi+ в окружении MXE ==== ==== Сборка Psi+ в окружении MXE ====
  
Строка 343: Строка 242:
 <code bash> <code bash>
 cd ~/github/build cd ~/github/build
-i686-w64-mingw32.shared-cmake -DDEV_MODE=ON -DENABLE_PLUGINS=ON -DBUILD_PSIMEDIA=ON -DCHAT_TYPE=webkit ../psi-plus-snapshots+i686-w64-mingw32.shared-cmake -DDEV_MODE=ON -DBUNDLED_IRIS_ALL=ON -DENABLE_PLUGINS=ON -DBUILD_PSIMEDIA=ON -DCHAT_TYPE=webkit ../psi-plus-snapshots
 </code> </code>
  
Строка 350: Строка 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+
 </code> </code>
  
ru/mingw32.1590764914.txt.gz · Последнее изменение: 2020/05/29 15:08 — kukuruzo

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki