2) Установка MXE и зависимостей
cd /home/<ваше имя>/
- git clone https://github.com/mxw/mxe.git
+ git clone https://github.com/mxe/mxe.git
2.1) gcc
cd /home/<ваше имя>/mxe
make boost
-Откройте файл /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/include/boost/interprocess/detail/win32_api.hpp
-и измените
-#include <Wbemidl.h>
-#include <Objbase.h>
-#include <Shlobj.h>
-
-на
-
-#include <wbemidl.h>
-#include <objbase.h>
-#include <shlobj.h>
-
Проверка что установка Boost прошла успешно:
В /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/lib папке должны появиться файлы:
-libboost_имябиблиотеки_mt.a (libboost_atomic-mt.a и другие подобные файлы)
2.4) Berkeley DB
-Скачайте http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz
-Распакуйте в домашнюю папку
--Откройте файл /home/<ваше имя>/db-6.0.20/src/dbinc/winioctl.h
+-Откройте файл /home/<ваше имя>/db-6.0.20/src/dbinc/win_db.h
-Измените
#include <WinIoCtl.h>
на
libdb_cxx.a
2.5) Miniupnpc
--Скачайте http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.20141128.tar.gz
+-Скачайте http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.20150206.tar.gz
-Распакуйте в домашнюю папку
--Переименуйте папку miniupnpc-1.9.20141128 в miniupnpc
+-Переименуйте папку miniupnpc-1.9.20150206 в miniupnpc
-Перейдите в папку miniupnpc и создайте файл miniupnpcstrings.h
-Напишите в нём:
на
CC=$(CROSS)gcc
--Удалите строки с 68 по 72
+-Удалите строки с 67 по 73
wingenminiupnpcstrings: wingenminiupnpcstrings.o
LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_THREAD_LIB_SUFFIX
на
LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread_win32$$BOOST_THREAD_LIB_SUFFIX
+
+Измените
+windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX -Wl,-Bstatic -lpthread -Wl,-Bdynamic
+на
+windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX
+
-Сохраните измененный файл novacoin-qt.pro
-Откройте терминал и выполните следующие команды
Во время линковки будут выдаваться подобные сообщения:
libboost_thread_win32-mt.a(thread.o): duplicate section `.rdata$_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian9bad_monthEEEEE[__ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian9bad_monthEEEEE]' has different size
Игнорируйте их. На работоспособность программы это никак не влияет
+
+Если вы хотите уменьшить размер бинарных файлов, то
+1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx
+2) Скачайте программу в соответсвии с вашей системой
+3) Распакуйте программу в папку с бинарными Novacoin файлами.
+4) Введите в терминале
+./upx -9 novacoind.exe
+затем
+./upx -9 novacoin-qt.exe
+
+И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза.