X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=doc%2Fcrosscompiling_building%20Windows%20binary%20under%20Unix.txt;h=54bc8c9b8c6de570c8d1329528d5169e531937b7;hb=1c7ed42093c5935e3958584ed98a2b03466a0023;hp=135a62d1246ec61ac29a86511f09f73b186560cd;hpb=5275e1da95fb4c0ed1c1154640002c4a79ef8ed0;p=novacoin.git diff --git a/doc/crosscompiling_building Windows binary under Unix.txt b/doc/crosscompiling_building Windows binary under Unix.txt index 135a62d..54bc8c9 100644 --- a/doc/crosscompiling_building Windows binary under Unix.txt +++ b/doc/crosscompiling_building Windows binary under Unix.txt @@ -39,18 +39,6 @@ libz.a cd /home/<ваше имя>/mxe make boost -Откройте файл /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/include/boost/interprocess/detail/win32_api.hpp -и измените -#include -#include -#include - -на - -#include -#include -#include - Проверка что установка Boost прошла успешно: В /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/lib папке должны появиться файлы: -libboost_имябиблиотеки_mt.a (libboost_atomic-mt.a и другие подобные файлы) @@ -61,7 +49,7 @@ libz.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 на @@ -78,59 +66,7 @@ libz.a libdb.a libdb_cxx.a -2.5) Miniupnpc --Скачайте http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.20141128.tar.gz --Распакуйте в домашнюю папку --Переименуйте папку miniupnpc-1.9.20141128 в miniupnpc --Перейдите в папку miniupnpc и создайте файл miniupnpcstrings.h --Напишите в нём: - -#ifndef MINIUPNPCSTRINGS_H_INCLUDED -#define MINIUPNPCSTRINGS_H_INCLUDED - -#define OS_STRING "MSWindows/6.1.7601" -#define MINIUPNPC_VERSION_STRING "1.9" - -#if 0 -/* according to "UPnP Device Architecture 1.0" */ -#define UPNP_VERSION_STRING "UPnP/1.0" -#else -/* according to "UPnP Device Architecture 1.1" */ -#define UPNP_VERSION_STRING "UPnP/1.1" -#endif - -#endif - -и сохраните файл --Откройте файл Makefile.mingw --Измените строку 7: -измените - CC = gcc -на - CC=$(CROSS)gcc - --Удалите строки с 68 по 72 - -wingenminiupnpcstrings: wingenminiupnpcstrings.o - -wingenminiupnpcstrings.o: wingenminiupnpcstrings.c - -miniupnpcstrings.h: miniupnpcstrings.h.in wingenminiupnpcstrings - wingenminiupnpcstrings $< $@ - --Сохраните файл - --Откройте терминал - - export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH - make CROSS=i686-w64-mingw32.static- -f Makefile.mingw init upnpc-static - - -Проверка, что установка Miniupnpc прошла успешно: -В папке miniupnpc должен появиться файл libminiupnpc.a - - -2.6) qrencode +2.5) qrencode -Скачайте http://download.sourceforge.net/libpng/libpng-1.6.15.tar.gz?download -Распакуйте в домашнюю папку -Откройте терминал @@ -162,7 +98,7 @@ libpng.a в папке /home/<ваше имя>/qrencode-3.4.4/.libs должен быть файл: libqrencode.a -2.7 Qt 5 и Qt 4 +2.6 Qt 5 и Qt 4 Qt 4 -Откройте терминал @@ -210,7 +146,6 @@ Using Qt version 5.4.0 in /home/<ваше имя>/mxe/usr/i686-w64-mingw32.stati -Вставьте CC=$(CROSS)gcc CXX=$(CROSS)g++ --Поменяйте USE_UPNP:=0 на USE_UPNP:=1 -Добавьте строчку USE_ASM:=1 -Поменяйте текущие INCLUDEPATHS, LIBPATHS, LIBS на: @@ -225,7 +160,6 @@ INCLUDEPATHS= \ LIBPATHS= \ -L"$(CURDIR)/leveldb" \ -L"/home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/lib" \ - -L"/home/<ваше имя>/miniupnpc" \ -L"/home/<ваше имя>/db-6.0.20/build_unix" \ LIBS= \ @@ -313,8 +247,6 @@ BDB_INCLUDE_PATH=/home/<ваше имя>/db-6.0.20/build_unix BDB_LIB_PATH=//home/<ваше имя>/db-6.0.20/build_unix OPENSSL_INCLUDE_PATH=/home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/include OPENSSL_LIB_PATH=/home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/lib -MINIUPNPC_INCLUDE_PATH=/home/<ваше имя>/ -MINIUPNPC_LIB_PATH=/home/<ваше имя>/miniupnpc QRENCODE_INCLUDE_PATH=/home/<ваше имя>/qrencode-3.4.4 QRENCODE_LIB_PATH=/home/<ваше имя>/qrencode-3.4.4/.libs @@ -356,28 +288,28 @@ Qt4 + транзакционный индекс LevelDB export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH cd /home/<ваше имя>/novacoin -i686-w64-mingw32.static-qmake-qt4 "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro +i686-w64-mingw32.static-qmake-qt4 "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку) Qt4 + транзакционный индекс BDB export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH cd /home/<ваше имя>/novacoin -i686-w64-mingw32.static-qmake-qt4 "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro +i686-w64-mingw32.static-qmake-qt4 "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку) Qt5 + транзакционный индекс LevelDB export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH cd /home/<ваше имя>/novacoin -i686-w64-mingw32.static-qmake-qt5 "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro +i686-w64-mingw32.static-qmake-qt5 "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку) Qt5 + транзакционный индекс BDB export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH cd /home/<ваше имя>/novacoin -i686-w64-mingw32.static-qmake-qt5 "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro +i686-w64-mingw32.static-qmake-qt5 "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку) @@ -385,3 +317,14 @@ make -j n -f Makefile.Release (вместо n количество ядер в Во время линковки будут выдаваться подобные сообщения: 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 раза.