MinGW32 build guide

From LeechCraft
Jump to: navigation, search

Программы для компиляции

Всё нижеперечисленное устанавливалось на Win7 x64 Ultimate:

Зависимости

Мы не можем скачать все эти библиотеки в готовых бинарниках для Windows, потому что нет никаких гарантий того, что они собраны с тем компилятором, который мы используем.

Создадим папку для хранения исходников, например E:\Libs. В этом примере подразумевается, что Qt и mingw установлен в папку E:\Qt.

TODO

  • закончить boost
  • закончить poppler
  • libbz2
  • libgeoip
  • libgstreamer-plugins-base0.10
  • libgstreamer-plugins-base1.0
  • libgstreamer0.10
  • libgstreamer1.0
  • libguess
  • liblastfm
  • libmagic
  • libmtp
  • libqca2
  • libqxt
  • libtelepathy-qt4
  • libtorrent-rasterbar

Boost

b2 -j4 variant=release toolset=gcc link=shared runtime-link=shared threading=multi --without-coroutine --without-context --without-mpi --without-python --prefix="E:\\Libs\\boost-1.55" install

OpenSSL

  • скачать исходники (https://www.openssl.org/source/openssl-1.0.1h.tar.gz)
  • запустить msys.bat
  • tar xvzf openssl-1.0.1h.tar.gz && cd openssl-1.0.1h
  • ./Configure --prefix=/e/Qt/mingw32 no-idea no-mdc2 no-rc5 shared mingw (с no-asm, который предлагается на stackoverflow, не получилось собрать)
  • make depend && make && make install

libmsn

  • скачать исходники (http://sourceforge.net/projects/libmsn/files/latest/download)
  • скопировать файл applink.c из исходников OpenSSL в E:\Qt\mingw32\include\openssl\
  • запустить командную строку Windows и перейти в каталог с исходниками
  • cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=E:\Qt\mingw32
  • mingw32-make && mingw32-make install

hunspell

taglib

  • скачать исходники (http://taglib.github.io/releases/taglib-1.9.1.tar.gz)
  • запустить командную строку Windows и перейти в каталог с исходниками
  • cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=E:\Qt\mingw32
  • mingw32-make && mingw32-make install

QJSON

  • скачать исходники (https://github.com/flavio/qjson/archive/0.8.1.tar.gz)
  • запустить командную строку Windows и перейти в каталог с исходниками
  • cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=E:\Qt\mingw32
  • mingw32-make && mingw32-make install

Speex

QXMPP

  • скачать исходники (https://codeload.github.com/qxmpp-project/qxmpp/tar.gz/v0.8.0)
  • скопировать папку с заголовочными файлами sleex в E:\Libs\qxmpp-0.8.0\src\base
  • запустить командную строку Windows и перейти в каталог с исходниками
  • qmake PREFIX=E:\\Qt\\mingw32 QXMPP_USE_SPEEX=1
  • mingw32-make
  • Чтобы установить только release версию библиотеки, надо ввести: сd src && mingw32-make release-install

kQOAuth

  • скачать исходники (https://codeload.github.com/kypeli/kQOAuth/tar.gz/0.98)
  • запустить командную строку Windows и перейти в каталог с исходниками
  • qmake PREFIX=E:\\Qt\\mingw32 CONFIG+=release
  • mingw32-make && mingw32-make install

QScintilla

poppler

Зависимости poppler:

  • poppler-data
  • freetype

poppler-data

  • скачать исходники (http://poppler.freedesktop.org/poppler-data-0.4.6.tar.gz)
  • запустить командную строку Windows и перейти в каталог с исходниками
  • cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=E:\Qt\mingw32
  • mingw32-make && mingw32-make install

Компилируем poppler:

  • скачать исходники (http://poppler.freedesktop.org/poppler-0.26.1.tar.xz)
  • запустить командную строку Windows и перейти в каталог с исходниками
  • cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=E:\Qt\mingw32
  • mingw32-make && mingw32-make install

qwt

  • скачать исходники (http://sourceforge.net/projects/qwt/files/qwt/6.1.0/qwt-6.1.0.zip/download)
  • в файле qwtbuild.pri заменить CONFIG += debug_and_release на CONFIG += release и удалить CONFIG += build_all
  • в файле заменить QWT_INSTALL_PREFIX = C:/Qwt-$$QWT_VERSION на QWT_INSTALL_PREFIX = E:/Qt
  • запустить командную строку Windows и перейти в каталог с исходниками
  • qmake && mingw32-make && mingw32-make install

libotr

Зависимости:

  • libgcrypt
  • libgpg-error

Собирать в указанном ниже порядке.

libgpg-error

  • скачать исходники (ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.12.tar.gz) 1.13 не собирается!
  • пересохранить po/ro.po и po/pl.po в UTF8 без BOM
  • Заменить соответствующий заголовок в po/ro.po и po/pl.po на "Content-Type: text/plain; charset=UTF-8\n"
  • запустить msys.bat
  • tar xvzf libgpg-error-1.12.tar.gz && cd libgpg-error-1.12
  • ./configure --prefix=/e/Qt/mingw32 --disable-static
  • make && make install

libgcrypt

  • скачать исходники (ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.6.1.tar.gz)
  • запустить msys.bat
  • tar xvzf libgcrypt-1.6.1.tar.gz && cd libgcrypt-1.6.1
  • скопировать libgpg-error.dll.a и libgpg-error.la в папку libgcrypt-1.6.1/src
  • ./configure --prefix=/e/Qt/mingw32 --disable-static
  • make && make install

libotr

  • скачать исходники (https://otr.cypherpunks.ca/libotr-4.0.0.tar.gz)
  • запустить msys.bat
  • tar xvzf libotr-4.0.0.tar.gz && cd libotr-4.0.0
  • ./configure --prefix=/e/Qt/mingw32 --disable-static
  • make && make install

libdjvulibre

  • скачать исходники (http://sourceforge.net/projects/djvu/files/DjVuLibre/3.5.25/djvulibre-3.5.25.3.tar.gz/download)
  • запустить msys.bat
  • tar xvzf djvulibre-3.5.25.3.tar.gz && cd djvulibre-3.5.25
  • ./configure --prefix=/e/Qt/mingw32 --disable-static --enable-desktopfiles=no (последний флаг не работает, но пусть будет, может, заработает в следующей версии)
  • make (закончится сообщением об ошибке, что нельзя запустить incscape, игнорируем его)
  • make install

libtidy

  • скачать исходники (http://tidy.cvs.sourceforge.net/viewvc/tidy/?view=tar)
  • распаковать только папку tidy
  • запустить msys.bat, перейти в папку с libtidy
  • добавить #define _MSC_VER 1301 в верхней части файла src/mappedio.c
  • /bin/sh build/gnuauto/setup.sh для создания ./configure
  • ./configure --prefix=/e/Qt/mingw32 --disable-static
  • make && make install

libpcre