X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=doc%2Fbuilding%20novacoind%20and%20novacoinqt%20under%20Windows%20with%20MinGW.txt;h=885b7fb632372cb0ef92c11aa39337c0f63ac84c;hb=cecf7a56ed5a5efd939b21c760c69da616306005;hp=ecbb4a9bee5a536752e4d1b0cda5ae86705b1398;hpb=dbae7130d777aff5c06f267ef7d236a4c9b6ffc3;p=novacoin.git diff --git a/doc/building novacoind and novacoinqt under Windows with MinGW.txt b/doc/building novacoind and novacoinqt under Windows with MinGW.txt index ecbb4a9..885b7fb 100644 --- a/doc/building novacoind and novacoinqt under Windows with MinGW.txt +++ b/doc/building novacoind and novacoinqt under Windows with MinGW.txt @@ -1,4 +1,5 @@ -1. Подготовка системы. +32 bit: +1. Подготовка системы. 1.1 Установка архиватора 7z: http://www.7-zip.org/ (при написании инструкции использовался 7-Zip 9.20 64 bit X64, но скорее всего подойдёт любая версия) @@ -20,10 +21,10 @@ msys-libtool-bin -нажмите Installation, Apply Changes, Apply. После завершения установки нажмите Close и закройте MinGW Installation Manager. 1.3 Установка MinGW-builds project toolchain: -Скачайте http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.1/threads-posix/dwarf/i686-4.9.1-release-posix-dwarf-rt_v3-rev1.7z/download +Скачайте http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.2/threads-posix/dwarf/i686-4.9.2-release-posix-dwarf-rt_v3-rev0.7z/download и распакуйте на C:\ -1.4 Добавте в переменную PATH путь C:\mingw32\bin; +1.4 Добавьте в переменную PATH путь C:\mingw32\bin; Подробное описание как это сделать на Windows 8, Windows 7, Windows XP и Windows Vista https://www.java.com/ru/download/help/path.xml (только не нужно выполнять последний пункт из этой инструкции "Откройте заново окно командной строки и выполните код java." ) @@ -32,19 +33,19 @@ https://www.java.com/ru/download/help/path.xml 1)C:\MinGW\bin должен содержать только файл mingw-get.exe 2)Откройте Командную строку (Нажмите кнопку Windows + R одновременно. Откроется окно "Выполнить", в поле открыть наберите cmd. Нажмите Ok). Наберите gcc -v. В командной строке выведется текст. В конце текста должно быть написано: Thread model: posix -gcc version 4.9.1 (i686-posix-dwarf-rev1, Built by MinGW-W64 project) +gcc version 4.9.2 (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 2. Построение зависимостей. В инструкции все зависимости сохраняются в папку c:\deps 2.1 OpenSSL --Скачайте http://www.openssl.org/source/openssl-1.0.1j.tar.gz +-Скачайте https://openssl.org/source/openssl-1.0.2.tar.gz -Перейдите в папку C:\MinGW\msys\1.0 и запустите msys.bat Из MinGw shell выполните следующий код: cd /c/deps/ -tar xvfz openssl-1.0.1j.tar.gz -cd openssl-1.0.1j +tar xvfz openssl-1.0.2.tar.gz +cd openssl-1.0.2 Configure no-shared no-dso mingw make @@ -59,28 +60,20 @@ cd db-6.0.20/build_unix make 2.3 Boost --Скачайте http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.7z/download --Распакуйте boost_1_55_0.7z в папку C:\deps +-Скачайте http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.7z/download +-Распакуйте boost_1_57_0.7z в папку C:\deps -Откройте командную строку Windows, и выполните следующий код: -cd C:\deps\boost_1_55_0\ +cd C:\deps\boost_1_57_0\ bootstrap.bat mingw b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi runtime-link=static stage -2.4 Miniupnpc --Скачайте http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.8.20131209.tar.gz --Распакуйте miniupnpc-1.8.20131209.tar.gz с помощью 7z. (Распаковать нужно 2 раза, нажмите на файле miniupnpc-1.8.20131209.tar.gz левой кнопкой мыши и выберите 7-Zip, затем Распаковать здесь. Появится файл miniupnpc-1.8.20131209.tar. С ним аналогично, левая кнопка мыши -> 7-Zip -> Распаковать здесь. Появится папка miniupnpc-1.8.20131209. Переименуйте её в miniupnpc. --Откройте командную строку Windows, и выполните следующий код: - -cd C:\deps\miniupnpc -mingw32-make -f Makefile.mingw init upnpc-static - -2.5 qrencode --Скачайте http://prdownloads.sourceforge.net/libpng/libpng-1.6.12.tar.gz?download +2.4 qrencode +-Скачайте http://download.sourceforge.net/libpng/libpng-1.6.15.tar.gz?download -Распакуйте -Откройте MinGw shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: -cd /c/deps/libpng-1.6.12 +cd /c/deps/libpng-1.6.15 configure --disable-shared make cp .libs/libpng16.a .libs/libpng.a @@ -91,38 +84,46 @@ cp .libs/libpng16.a .libs/libpng.a cd /c/deps/qrencode-3.4.4 -LIBS="../libpng-1.6.12/.libs/libpng.a ../../mingw32/i686-w64-mingw32/lib/libz.a" \ -png_CFLAGS="-I../libpng-1.6.12" \ -png_LIBS="-L../libpng-1.6.12/.libs" \ +LIBS="../libpng-1.6.15/.libs/libpng.a ../../mingw32/i686-w64-mingw32/lib/libz.a" \ +png_CFLAGS="-I../libpng-1.6.15" \ +png_LIBS="-L../libpng-1.6.15/.libs" \ configure --enable-static --disable-shared --without-tools make -2.6 Qt 5 и Qt 4 +2.5 Qt 5 и Qt 4 Библиотеки Qt будем хранить в папке C:\Qt - +Для ускорения компиляции вместо +mingw32-make +используйте +mingw32-make -j n , где вместо n количество ядер вашего процессора Qt 5: --Скачайте http://download.qt-project.org/official_releases/qt/5.3/5.3.2/submodules/qtbase-opensource-src-5.3.2.7z -http://download.qt-project.org/official_releases/qt/5.3/5.3.2/submodules/qttools-opensource-src-5.3.2.7z +-Скачайте http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qtbase-opensource-src-5.4.0.7z +http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttools-opensource-src-5.4.0.7z +http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttranslations-opensource-src-5.4.0.7z + -Распакуйте в C:\Qt --Переименуйте папку qtbase-opensource-src-5.3.2 в 5.3.2 +-Переименуйте папку qtbase-opensource-src-5.4.0 в 5.4.0 -Откройте командную строку Windows и выполните следующий код: -set INCLUDE=C:\deps\libpng-1.6.12;C:\deps\openssl-1.0.1j\include -set LIB=C:\deps\libpng-1.6.12\.libs;C:\deps\openssl-1.0.1j +set INCLUDE=C:\deps\libpng-1.6.15;C:\deps\openssl-1.0.2\include +set LIB=C:\deps\libpng-1.6.15\.libs;C:\deps\openssl-1.0.2 -cd C:\Qt\5.3.2 +cd C:\Qt\5.4.0 -configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -no-vcproj -openssl -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug +configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -openssl -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug mingw32-make -set PATH=%PATH%;C:\Qt\5.3.2\bin +set PATH=%PATH%;C:\Qt\5.4.0\bin -cd C:\Qt\qttools-opensource-src-5.3.2 +cd C:\Qt\qttools-opensource-src-5.4.0 qmake qttools.pro mingw32-make +cd C:\Qt\qttranslations-opensource-src-5.4.0 +qmake qttranslations.pro +mingw32-make Qt4: @@ -149,25 +150,23 @@ mingw32-make 3.2 Собираем novacoind -Перейдите в папку C:\MyProjects\novacoin-master\src -Откройте файл makefile.mingw в текстовом редакторе.(При написании инструкции использовался WordPad) --Поменяйте USE_UPNP:=0 на USE_UPNP:=1 +-Добавьте строчку USE_ASM:=1 -Поменяйте текущие INCLUDEPATHS, LIBPATHS, LIBS на: -BOOST_SUFFIX?=-mgw49-mt-s-1_55 +BOOST_SUFFIX?=-mgw49-mt-s-1_57 INCLUDEPATHS= \ -I"$(CURDIR)" \ - -I"$(CURDIR)/zerocoin" \ - -I"/c/deps/boost_1_55_0" \ + -I"/c/deps/boost_1_57_0" \ -I"/c/deps" \ -I"/c/deps/db-6.0.20/build_unix" \ - -I"/c/deps/openssl-1.0.1j/include" + -I"/c/deps/openssl-1.0.2/include" LIBPATHS= \ -L"$(CURDIR)/leveldb" \ - -L"/c/deps/boost_1_55_0/stage/lib" \ - -L"/c/deps/miniupnpc" \ + -L"/c/deps/boost_1_57_0/stage/lib" \ -L"/c/deps/db-6.0.20/build_unix" \ - -L"/c/deps/openssl-1.0.1j" + -L"/c/deps/openssl-1.0.2" LIBS= \ -l leveldb \ @@ -184,9 +183,11 @@ LIBS= \ -Поменяйте LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat на LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static --Если вы хотите использовать LevelDB как базу блоков то добавте в файл MinGW: +-Если вы хотите использовать LevelDB как базу блоков то измените: +USE_LEVELDB:=0 +на USE_LEVELDB:=1 -(ниже USE_IPV6:=1) +(выше USE_IPV6:=1) Так же измените cd leveldb; make; cd .. на @@ -197,6 +198,8 @@ obj/txdb-leveldb.o: leveldb/libleveldb.lib на obj/txdb-leveldb.o: leveldb/libleveldb.a + + Если вы хотите использовать BerkeleyDB как базу блоков, то просто удалите строчку USE_LEVELDB:=1 -Сохраните измененный файл makefile.mingw @@ -207,10 +210,11 @@ cd /c/MyProjects/novacoin-master/src make -f makefile.mingw strip novacoind.exe -(Возможная ошибка: -Fatal error: can't create obj/zerocoin/Accumulator.o: No such file or directory -make: *** [obj/zerocoin/Accumulator.o] Error 1 -Она происходит если нет папки C:\MyProjects\novacoin-master\src\obj\zerocoin . Так что при удалении obj файлов следите, чтобы папка C:\MyProjects\novacoin-master\src\obj\zerocoin не удалилась вместе с obj файлами.) +Если у вас возникает ошибка "make: cc: Command not found", то поменяйте в файле makefile.mingw + + $(CC) -c $(xCXXFLAGS) -MMD -o $@ $< +на + gcc -c $(xCXXFLAGS) -MMD -o $@ $< Если всё сделано правильно, то файл novacoind.exe будет находится в папке C:\MyProjects\novacoin-master\src @@ -230,15 +234,13 @@ TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a # BDB_LIB_PATH, OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively замените прописанные пути к зависимостям на -BOOST_LIB_SUFFIX=-mgw49-mt-s-1_55 -BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0 -BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib +BOOST_LIB_SUFFIX=-mgw49-mt-s-1_57 +BOOST_INCLUDE_PATH=C:/deps/boost_1_57_0 +BOOST_LIB_PATH=C:/deps/boost_1_57_0/stage/lib BDB_INCLUDE_PATH=C:/deps/db-6.0.20/build_unix BDB_LIB_PATH=C:/deps/db-6.0.20/build_unix -OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1j/include -OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1j -MINIUPNPC_INCLUDE_PATH=C:/deps/ -MINIUPNPC_LIB_PATH=C:/deps/miniupnpc +OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.2/include +OPENSSL_LIB_PATH=C:/deps/openssl-1.0.2 QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.4 QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.4/.libs @@ -251,45 +253,254 @@ genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARG LIBS += -lshlwapi #genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a -Если в файле нет такой строчки CONFIG += static , то добавте её. +Если в файле нет такой строчки CONFIG += static , то добавьте её. Измените win32:QMAKE_LFLAGS........................ на win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static +Измените +windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX -Wl,-Bstatic -lpthread -Wl,-Bdynamic +на +windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX + -Сохраните измененный файл novacoin-qt.pro -Откройте командную строку Windows и выполните следующий код: -Qt5 + база блоков BDB +Qt5 + транзакционный индекс BDB -set PATH=%PATH%;C:\Qt\5.3.2\bin +set PATH=%PATH%;C:\Qt\5.4.0\bin cd C:\MyProjects\novacoin-master -qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" novacoin-qt.pro +qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro mingw32-make -f Makefile.Release -Qt5 + база блоков LevelDB +Qt5 + транзакционный индекс LevelDB -set PATH=%PATH%;C:\Qt\5.3.2\bin +set PATH=%PATH%;C:\Qt\5.4.0\bin cd C:\MyProjects\novacoin-master -qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" novacoin-qt.pro +qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro mingw32-make -f Makefile.Release -Qt4 + база блоков BDB +Qt4 + транзакционный индекс BDB set PATH=%PATH%;C:\Qt\4.8.6\bin cd C:\MyProjects\novacoin-master -qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" novacoin-qt.pro +qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro mingw32-make -f Makefile.Release -Qt4 + база блоков LevelDB +Qt4 + транзакционный индекс LevelDB set PATH=%PATH%;C:\Qt\4.8.6\bin cd C:\MyProjects\novacoin-master -qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" novacoin-qt.pro +qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro mingw32-make -f Makefile.Release Если всё сделано правильно, то файл novacoin-qt.exe будет находится в папке C:\MyProjects\novacoin-master\release + +Если вы хотите уменьшить размер бинарных файлов, то +1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx +2) Скачайте программу в соответсвии с вашей системой +3) Распакуйте программу в папку с бинарными Novacoin файлами. +4) Введите в консоли +upx -9 novacoind.exe +затем +upx -9 novacoin-qt.exe + +И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза. + + + +64 bit: +1.1 Так же как 32 bit + +1.2 Так же как 32 bit + +1.3 Установка MinGW-builds project toolchain: +Скачайте http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.2/threads-posix/seh/x86_64-4.9.2-release-posix-seh-rt_v3-rev0.7z/download +и распакуйте на C:\ + +1.4 Удалите из переменной PATH путь C:\mingw32\bin; и добавьте в PATH путь C:\mingw64\bin; + +Проверка что вы всё сделали правильно: +1)C:\MinGW\bin должен содержать только файл mingw-get.exe +2)Откройте Командную строку (Нажмите кнопку Windows + R одновременно. Откроется окно "Выполнить", в поле открыть наберите cmd. Нажмите Ok). Наберите gcc -v. В командной строке выведется текст. В конце текста должно быть написано: +Thread model: posix +gcc version 4.9.2 (x86_64-posix-seh-rev0, Built by MinGW-W64 project) + +2. Построение зависимостей. +В инструкции все зависимости сохраняются в папку c:\deps\x64 + +2.1 OpenSSL: http://www.openssl.org/source/openssl-1.0.2.tar.gz +-Перейдите в папку C:\MinGW\msys\1.0 и запустите msys.bat +Из MinGw shell выполните следующий код: + +cd /c/deps/x64/ +tar xvfz openssl-1.0.2.tar.gz +cd openssl-1.0.2 +Configure no-shared no-dso mingw64 +make + +2.2 Так же как 32 bit, только cd /c/deps/ меняется на cd /c/deps/x64/ + +2.3 Так же как 32 bit, только распаковка в C:\deps\x64 и команда cd C:\deps\boost_1_57_0\ меняется на cd C:\deps\x64\boost_1_57_0\ + +2.4 Часть с libpng так же как 32 bit, только распаковка в C:\deps\x64 +Затем +-Скачайте http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz +-Распакуйте в C:\deps\x64 +-Выполните следующий код в MinGW shell: + +cd /c/deps/x64/qrencode-3.4.4 + +LIBS="../libpng-1.6.15/.libs/libpng.a ../../../mingw64/x86_64-w64-mingw32/lib/libz.a" \ +png_CFLAGS="-I../libpng-1.6.15" \ +png_LIBS="-L../libpng-1.6.15/.libs" \ +configure --enable-static --disable-shared --without-tools + +make + + +2.5 Qt 5 и Qt 4 +Библиотеки Qt будем хранить в папке C:\Qt +Для ускорения компиляции вместо +mingw32-make +используйте +mingw32-make -j n , где вместо n количество ядер вашего процессора +Qt 5: +-Скачайте http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qtbase-opensource-src-5.4.0.7z +http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttools-opensource-src-5.4.0.7z +http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttranslations-opensource-src-5.4.0.7z +-Распакуйте в C:\Qt +-Переименуйте папку qtbase-opensource-src-5.4.0 в 5.4.0-x64 +-Переименуйте папку qttools-opensource-src-5.4.0 в qttools-opensource-src-5.4.0-x64 +-Переименуйте папку qttranslations-opensource-src-5.4.0 в qttranslations-opensource-src-5.4.0-x64 +-Откройте командную строку Windows и выполните следующий код: + +set INCLUDE=C:\deps\x64\libpng-1.6.15;C:\deps\x64\openssl-1.0.2\include +set LIB=C:\deps\x64\libpng-1.6.15\.libs;C:\deps\x64\openssl-1.0.2 + +cd C:\Qt\5.4.0-x64 + +configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -openssl -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug + +mingw32-make + +set PATH=%PATH%;C:\Qt\5.4.0-x64\bin + +cd C:\Qt\qttools-opensource-src-5.4.0-x64 +qmake qttools.pro +mingw32-make + +cd C:\Qt\qttranslations-opensource-src-5.4.0-x64 +qmake qttranslations.pro +mingw32-make + +Qt4: +-Скачайте http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip +-Распакуйте в C:\Qt +-Переименуйте папку qt-everywhere-opensource-src-4.8.6 в 4.8.6-x64 +-Откройте командную строку Windows и выполните следующий код: + +configure -release -opensource -confirm-license -static -no-sql-sqlite -no-qt3support -no-opengl -qt-zlib -no-gif -qt-libpng -qt-libmng -no-libtiff -qt-libjpeg -no-dsp -no-vcproj -no-openssl -no-dbus -no-phonon -no-phonon-backend -no-multimedia -no-audio-backend -no-webkit -no-script -no-scripttools -no-declarative -no-declarative-debug -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -nomake demos -nomake examples + +mingw32-make + +3. Компиляция +Будем хранить исходники в папке C:\MyProjects + +3.1 Так же как 32 bit + +3.2 Собираем novacoind +-Измените makefile.mingw так же как в 32 bit +-Откройте файл makefile.mingw в текстовом редакторе и сохраните его как makefile.ming64 +-Измените в INCLUDEPATHS и LIBPATHS /c/deps/ на /c/deps/x64/ +-Измените +LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static +на +LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,-static, -static-libgcc +-Удалите (если они есть)obj(.o) файлы из C:\MyProjects\novacoin-master\src\obj , если остались после 32 bit +-Удалите (если они есть)libleveldb.a и libmemenv.a в папке C:\MyProjects\novacoin-master\src\leveldb +-Удалите (если они есть)obj(.o) файлы из +C:\MyProjects\novacoin-master\src\leveldb\db +C:\MyProjects\novacoin-master\src\leveldb\helpers\memenv +C:\MyProjects\novacoin-master\src\leveldb\port +C:\MyProjects\novacoin-master\src\leveldb\table +C:\MyProjects\novacoin-master\src\leveldb\util +-Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: + +cd /c/MyProjects/novacoin-master/src +make -f makefile.mingw64 +strip novacoind.exe + +Если всё сделано правильно, то файл novacoind.exe будет находится в папке C:\MyProjects\novacoin-master\src + + +3.3 Собираем Novacoin QT +Внимание: Если вы хотите собирать Novacoin Qt с LevelDB, но пропустили шаг со сборкой novacoind.exe, то +-Удалите (если они есть)libleveldb.a и libmemenv.a в папке C:\MyProjects\novacoin-master\src\leveldb +-Удалите (если они есть)obj(.o) файлы из +C:\MyProjects\novacoin-master\src\leveldb\db +C:\MyProjects\novacoin-master\src\leveldb\helpers\memenv +C:\MyProjects\novacoin-master\src\leveldb\port +C:\MyProjects\novacoin-master\src\leveldb\table +C:\MyProjects\novacoin-master\src\leveldb\util +-Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: + +cd /c/myprojects/novacoin-master/src/leveldb +TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a + +-Измените файл novacoin-qt.pro так же как в 32 bit +-Откройте файл novacoin-qt.pro в текстовом редакторе и сохраните его как novacoin-qt64.pro +-Замените в INCLUDE и LIB путях текст C:/deps на текст C:/deps/x64 (то есть вместо C:/deps/boost_1_57_0 нужно C:/deps/x64/boost_1_57_0 и т.д.) +-Замените +win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static +на +win32:QMAKE_LFLAGS *= -Wl,-static + +-Откройте командную строку Windows и выполните следующий код: + +Qt5 + транзакционный индекс BDB + +set PATH=%PATH%;C:\Qt\5.4.0-x64\bin +cd C:\MyProjects\novacoin-master +qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt64.pro +mingw32-make -f Makefile.Release + + +Qt5 + транзакционный индекс LevelDB + +set PATH=%PATH%;C:\Qt\5.4.0-x64\bin +cd C:\MyProjects\novacoin-master +qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt64.pro +mingw32-make -f Makefile.Release + +Qt4 + транзакционный индекс BDB + +set PATH=%PATH%;C:\Qt\4.8.6-x64\bin +cd C:\MyProjects\novacoin-master +qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt64.pro +mingw32-make -f Makefile.Release + +Qt4 + транзакционный индекс LevelDB + +set PATH=%PATH%;C:\Qt\4.8.6-x64\bin +cd C:\MyProjects\novacoin-master +qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt64.pro +mingw32-make -f Makefile.Release + +Если всё сделано правильно, то файл novacoin-qt.exe будет находится в папке C:\MyProjects\novacoin-master\release + +Если вы хотите уменьшить размер бинарных файлов, то +1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx +2) Скачайте программу в соответсвии с вашей системой +3) Распакуйте программу в папку с бинарными Novacoin файлами. +4) Введите в консоли +upx -9 novacoind.exe +затем +upx -9 novacoin-qt.exe + +И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза.