4 1.1 Установка архиватора 7z: http://www.7-zip.org/
5 (при написании инструкции использовался 7-Zip 9.20 64 bit X64, но скорее всего подойдёт любая версия)
7 1.2 Установка msys shell:
8 -Скачайте http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download
10 -директория для установки C:\MinGW
11 -поставить галочку напротив "...also install support for the graphical user interface."
12 -убрать галочки напротив "..in the start menu, and/or .." "... on the desktop"
15 -нажмите All Packages, затем MSYS
16 -поставте галочки напротив:
21 -нажмите Installation, Apply Changes, Apply. После завершения установки нажмите Close и закройте MinGW Installation Manager.
23 1.3 Установка MinGW-builds project toolchain:
24 Скачайте 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
27 1.4 Добавьте в переменную PATH путь C:\mingw32\bin;
28 Подробное описание как это сделать в Windows: https://www.java.com/ru/download/help/path.xml
29 (только не нужно выполнять последний пункт из этой инструкции "Откройте заново окно командной строки и выполните код java." )
31 Проверка что вы всё сделали правильно:
32 1)C:\MinGW\bin должен содержать только файл mingw-get.exe
33 2)Откройте Командную строку (Нажмите кнопку Windows + R одновременно. Откроется окно "Выполнить", в поле открыть наберите cmd. Нажмите Ok). Наберите gcc -v. В командной строке выведется текст. В конце текста должно быть написано:
35 gcc version 4.9.2 (i686-posix-dwarf-rev0, Built by MinGW-W64 project)
37 2. Построение зависимостей.
38 В инструкции все зависимости сохраняются в папку c:\deps
41 -Скачайте https://openssl.org/source/openssl-1.0.2.tar.gz
42 -Перейдите в папку C:\MinGW\msys\1.0 и запустите msys.bat
43 Из MinGw shell выполните следующий код:
46 tar xvfz openssl-1.0.2.tar.gz
48 Configure no-shared no-dso mingw
52 -Скачайте http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz
53 -Из MinGw shell выполните следующий код:
56 tar xvfz db-6.0.20.tar.gz
57 cd db-6.0.20/build_unix
58 ../dist/configure --enable-mingw --enable-cxx --disable-shared --disable-replication
62 -Скачайте http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.7z/download
63 -Распакуйте boost_1_57_0.7z в папку C:\deps
64 -Откройте командную строку Windows, и выполните следующий код:
66 cd C:\deps\boost_1_57_0\
68 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
71 -Скачайте http://download.sourceforge.net/libpng/libpng-1.6.15.tar.gz?download
73 -Откройте MinGw shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код:
75 cd /c/deps/libpng-1.6.15
76 configure --disable-shared
78 cp .libs/libpng16.a .libs/libpng.a
80 -Скачайте http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz
82 -Выполните следующий код в MinGW shell:
84 cd /c/deps/qrencode-3.4.4
86 LIBS="../libpng-1.6.15/.libs/libpng.a ../../mingw32/i686-w64-mingw32/lib/libz.a" \
87 png_CFLAGS="-I../libpng-1.6.15" \
88 png_LIBS="-L../libpng-1.6.15/.libs" \
89 configure --enable-static --disable-shared --without-tools
94 Библиотеки Qt будем хранить в папке C:\Qt
95 Для ускорения компиляции вместо
98 mingw32-make -j n , где вместо n количество ядер вашего процессора
100 -Скачайте http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qtbase-opensource-src-5.4.0.7z
101 http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttools-opensource-src-5.4.0.7z
102 http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttranslations-opensource-src-5.4.0.7z
105 -Переименуйте папку qtbase-opensource-src-5.4.0 в 5.4.0
106 -Откройте командную строку Windows и выполните следующий код:
108 set INCLUDE=C:\deps\libpng-1.6.15;C:\deps\openssl-1.0.2\include
109 set LIB=C:\deps\libpng-1.6.15\.libs;C:\deps\openssl-1.0.2
113 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
117 set PATH=%PATH%;C:\Qt\5.4.0\bin
119 cd C:\Qt\qttools-opensource-src-5.4.0
123 cd C:\Qt\qttranslations-opensource-src-5.4.0
124 qmake qttranslations.pro
129 -Скачайте http://download.qt-project.org/official_releases/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.zip
131 -Переименуйте папку qt-everywhere-opensource-src-4.8.7 в 4.8.7
132 -Откройте командную строку Windows и выполните следующий код:
136 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
142 Будем хранить исходники в папке C:\MyProjects
144 3.1 Скачиваем исходники
145 -Зайдите на сайт https://github.com/novacoin-project/novacoin
146 -Нажмите Download ZIP
147 -Распакуйте novacoin-master.zip в C:\MyProjects
149 3.2 Собираем novacoind
150 -Перейдите в папку C:\MyProjects\novacoin-master\src
151 -Откройте файл makefile.mingw в текстовом редакторе.(При написании инструкции использовался WordPad)
152 -Добавьте строчку USE_ASM:=1
153 -Если вы хотите использовать LevelDB как базу блоков то измените:
159 -Сохраните измененный файл makefile.mingw
161 -Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код:
163 cd /c/MyProjects/novacoin-master/src
164 make -f makefile.mingw
167 Если у вас возникает ошибка "make: cc: Command not found", то поменяйте в файле makefile.mingw
169 $(CC) -c $(xCXXFLAGS) -MMD -o $@ $<
171 gcc -c $(xCXXFLAGS) -MMD -o $@ $<
173 Если всё сделано правильно, то файл novacoind.exe будет находится в папке C:\MyProjects\novacoin-master\src
176 3.3 Собираем Novacoin QT
178 Внимание: Если вы хотите собирать Novacoin Qt с LevelDB, но пропустили шаг со сборкой novacoind.exe, то
179 -Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код:
181 cd /c/myprojects/novacoin-master/src/leveldb
182 TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a
184 -Откройте файл C:\MyProjects\novacoin-master\novacoin-qt.pro в текстовом редакторе(при написании инструкции использовался WordPad)
186 # Dependency library locations can be customized with:
187 # BOOST_INCLUDE_PATH, BOOST_LIB_PATH, BDB_INCLUDE_PATH,
188 # BDB_LIB_PATH, OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively
189 замените прописанные пути к зависимостям на
191 BOOST_LIB_SUFFIX=-mgw49-mt-s-1_57
192 BOOST_INCLUDE_PATH=C:/deps/boost_1_57_0
193 BOOST_LIB_PATH=C:/deps/boost_1_57_0/stage/lib
194 BDB_INCLUDE_PATH=C:/deps/db-6.0.20/build_unix
195 BDB_LIB_PATH=C:/deps/db-6.0.20/build_unix
196 OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.2/include
197 OPENSSL_LIB_PATH=C:/deps/openssl-1.0.2
198 QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.4
199 QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.4/.libs
201 Так же измените(если ещё не изменено)
203 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
208 #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
210 Если в файле нет такой строчки CONFIG += static , то добавьте её.
213 win32:QMAKE_LFLAGS........................
215 win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static
218 windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX -Wl,-Bstatic -lpthread -Wl,-Bdynamic
220 windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX
222 -Сохраните измененный файл novacoin-qt.pro
223 -Откройте командную строку Windows и выполните следующий код:
225 Qt5 + транзакционный индекс BDB
227 set PATH=%PATH%;C:\Qt\5.4.0\bin
228 cd C:\MyProjects\novacoin-master
229 qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro
230 mingw32-make -f Makefile.Release
233 Qt5 + транзакционный индекс LevelDB
235 set PATH=%PATH%;C:\Qt\5.4.0\bin
236 cd C:\MyProjects\novacoin-master
237 qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro
238 mingw32-make -f Makefile.Release
240 Qt4 + транзакционный индекс BDB
242 set PATH=%PATH%;C:\Qt\4.8.7\bin
243 cd C:\MyProjects\novacoin-master
244 qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro
245 mingw32-make -f Makefile.Release
247 Qt4 + транзакционный индекс LevelDB
249 set PATH=%PATH%;C:\Qt\4.8.7\bin
250 cd C:\MyProjects\novacoin-master
251 qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro
252 mingw32-make -f Makefile.Release
256 Если всё сделано правильно, то файл novacoin-qt.exe будет находится в папке C:\MyProjects\novacoin-master\release
258 Если вы хотите уменьшить размер бинарных файлов, то
259 1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx
260 2) Скачайте программу в соответсвии с вашей системой
261 3) Распакуйте программу в папку с бинарными Novacoin файлами.
265 upx -9 novacoin-qt.exe
267 И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза.
272 1.1 Так же как 32 bit
274 1.2 Так же как 32 bit
276 1.3 Установка MinGW-builds project toolchain:
277 Скачайте 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
280 1.4 Удалите из переменной PATH путь C:\mingw32\bin; и добавьте в PATH путь C:\mingw64\bin;
282 Проверка что вы всё сделали правильно:
283 1)C:\MinGW\bin должен содержать только файл mingw-get.exe
284 2)Откройте Командную строку (Нажмите кнопку Windows + R одновременно. Откроется окно "Выполнить", в поле открыть наберите cmd. Нажмите Ok). Наберите gcc -v. В командной строке выведется текст. В конце текста должно быть написано:
286 gcc version 4.9.2 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)
288 2. Построение зависимостей.
289 В инструкции все зависимости сохраняются в папку c:\deps\x64
291 2.1 OpenSSL: http://www.openssl.org/source/openssl-1.0.2.tar.gz
292 -Перейдите в папку C:\MinGW\msys\1.0 и запустите msys.bat
293 Из MinGw shell выполните следующий код:
296 tar xvfz openssl-1.0.2.tar.gz
298 Configure no-shared no-dso mingw64
301 2.2 Так же как 32 bit, только cd /c/deps/ меняется на cd /c/deps/x64/
303 2.3 Так же как 32 bit, только распаковка в C:\deps\x64 и команда cd C:\deps\boost_1_57_0\ меняется на cd C:\deps\x64\boost_1_57_0\
305 2.4 Часть с libpng так же как 32 bit, только распаковка в C:\deps\x64
307 -Скачайте http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz
308 -Распакуйте в C:\deps\x64
309 -Выполните следующий код в MinGW shell:
311 cd /c/deps/x64/qrencode-3.4.4
313 LIBS="../libpng-1.6.15/.libs/libpng.a ../../../mingw64/x86_64-w64-mingw32/lib/libz.a" \
314 png_CFLAGS="-I../libpng-1.6.15" \
315 png_LIBS="-L../libpng-1.6.15/.libs" \
316 configure --enable-static --disable-shared --without-tools
322 Библиотеки Qt будем хранить в папке C:\Qt
323 Для ускорения компиляции вместо
326 mingw32-make -j n , где вместо n количество ядер вашего процессора
328 -Скачайте http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qtbase-opensource-src-5.4.0.7z
329 http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttools-opensource-src-5.4.0.7z
330 http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttranslations-opensource-src-5.4.0.7z
332 -Переименуйте папку qtbase-opensource-src-5.4.0 в 5.4.0-x64
333 -Переименуйте папку qttools-opensource-src-5.4.0 в qttools-opensource-src-5.4.0-x64
334 -Переименуйте папку qttranslations-opensource-src-5.4.0 в qttranslations-opensource-src-5.4.0-x64
335 -Откройте командную строку Windows и выполните следующий код:
337 set INCLUDE=C:\deps\x64\libpng-1.6.15;C:\deps\x64\openssl-1.0.2\include
338 set LIB=C:\deps\x64\libpng-1.6.15\.libs;C:\deps\x64\openssl-1.0.2
342 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
346 set PATH=%PATH%;C:\Qt\5.4.0-x64\bin
348 cd C:\Qt\qttools-opensource-src-5.4.0-x64
352 cd C:\Qt\qttranslations-opensource-src-5.4.0-x64
353 qmake qttranslations.pro
357 -Скачайте http://download.qt-project.org/official_releases/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.zip
359 -Переименуйте папку qt-everywhere-opensource-src-4.8.7 в 4.8.7-x64
360 -Откройте командную строку Windows и выполните следующий код:
362 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
367 Будем хранить исходники в папке C:\MyProjects
369 3.1 Так же как 32 bit
371 3.2 Собираем novacoind
372 -Измените makefile.mingw так же как в 32 bit
373 -Откройте файл makefile.mingw в текстовом редакторе и сохраните его как makefile.ming64
374 -Измените в INCLUDEPATHS и LIBPATHS /c/deps/ на /c/deps/x64/
376 LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static
378 LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,-static, -static-libgcc
379 -Удалите (если они есть)obj(.o) файлы из C:\MyProjects\novacoin-master\src\obj , если остались после 32 bit
380 -Удалите (если они есть)libleveldb.a и libmemenv.a в папке C:\MyProjects\novacoin-master\src\leveldb
381 -Удалите (если они есть)obj(.o) файлы из
382 C:\MyProjects\novacoin-master\src\leveldb\db
383 C:\MyProjects\novacoin-master\src\leveldb\helpers\memenv
384 C:\MyProjects\novacoin-master\src\leveldb\port
385 C:\MyProjects\novacoin-master\src\leveldb\table
386 C:\MyProjects\novacoin-master\src\leveldb\util
387 -Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код:
389 cd /c/MyProjects/novacoin-master/src
390 make -f makefile.mingw64
393 Если всё сделано правильно, то файл novacoind.exe будет находится в папке C:\MyProjects\novacoin-master\src
396 3.3 Собираем Novacoin QT
397 Внимание: Если вы хотите собирать Novacoin Qt с LevelDB, но пропустили шаг со сборкой novacoind.exe, то
398 -Удалите (если они есть)libleveldb.a и libmemenv.a в папке C:\MyProjects\novacoin-master\src\leveldb
399 -Удалите (если они есть)obj(.o) файлы из
400 C:\MyProjects\novacoin-master\src\leveldb\db
401 C:\MyProjects\novacoin-master\src\leveldb\helpers\memenv
402 C:\MyProjects\novacoin-master\src\leveldb\port
403 C:\MyProjects\novacoin-master\src\leveldb\table
404 C:\MyProjects\novacoin-master\src\leveldb\util
405 -Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код:
407 cd /c/myprojects/novacoin-master/src/leveldb
408 TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a
410 -Измените файл novacoin-qt.pro так же как в 32 bit
411 -Откройте файл novacoin-qt.pro в текстовом редакторе и сохраните его как novacoin-qt64.pro
412 -Замените в INCLUDE и LIB путях текст C:/deps на текст C:/deps/x64 (то есть вместо C:/deps/boost_1_57_0 нужно C:/deps/x64/boost_1_57_0 и т.д.)
414 win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static
416 win32:QMAKE_LFLAGS *= -Wl,-static
418 -Откройте командную строку Windows и выполните следующий код:
420 Qt5 + транзакционный индекс BDB
422 set PATH=%PATH%;C:\Qt\5.4.0-x64\bin
423 cd C:\MyProjects\novacoin-master
424 qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt64.pro
425 mingw32-make -f Makefile.Release
428 Qt5 + транзакционный индекс LevelDB
430 set PATH=%PATH%;C:\Qt\5.4.0-x64\bin
431 cd C:\MyProjects\novacoin-master
432 qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt64.pro
433 mingw32-make -f Makefile.Release
435 Qt4 + транзакционный индекс BDB
437 set PATH=%PATH%;C:\Qt\4.8.7-x64\bin
438 cd C:\MyProjects\novacoin-master
439 qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt64.pro
440 mingw32-make -f Makefile.Release
442 Qt4 + транзакционный индекс LevelDB
444 set PATH=%PATH%;C:\Qt\4.8.7-x64\bin
445 cd C:\MyProjects\novacoin-master
446 qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt64.pro
447 mingw32-make -f Makefile.Release
449 Если всё сделано правильно, то файл novacoin-qt.exe будет находится в папке C:\MyProjects\novacoin-master\release
451 Если вы хотите уменьшить размер бинарных файлов, то
452 1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx
453 2) Скачайте программу в соответсвии с вашей системой
454 3) Распакуйте программу в папку с бинарными Novacoin файлами.
458 upx -9 novacoin-qt.exe
460 И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза.