df6143974fa20be3002f778890cc495fa327f350
[novacoin.git] / doc / building novacoind and novacoinqt under Windows with MinGW.txt
1 \feff32 bit:
2 1. Подготовка системы.
3
4 1.1 Установка архиватора 7z: http://www.7-zip.org/ 
5 (при написании инструкции использовался 7-Zip 9.20 64 bit X64, но скорее всего подойдёт любая версия)
6
7 1.2 Установка msys shell:
8 -Скачайте http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download
9 -нажмите Install
10 -директория для установки C:\MinGW
11 -поставить галочку напротив "...also install support for the graphical user interface."
12 -убрать галочки напротив "..in the start menu, and/or .." "... on the desktop"
13 -нажмите continue
14 -нажмите continue
15 -нажмите All Packages, затем MSYS
16 -поставте галочки напротив:
17 msys-autoconf-bin
18 msys-automake-bin
19 msys-base-bin
20 msys-libtool-bin
21 -нажмите Installation, Apply Changes, Apply. После завершения установки нажмите Close и закройте MinGW Installation Manager.
22
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
25 и распакуйте на C:\
26
27 1.4 Добавьте в переменную PATH путь C:\mingw32\bin;
28 Подробное описание как это сделать на Windows 8, Windows 7, Windows XP и Windows Vista
29 https://www.java.com/ru/download/help/path.xml
30 (только не нужно выполнять последний пункт из этой инструкции "Откройте заново окно командной строки и выполните код java." )
31
32 Проверка что вы всё сделали правильно:
33 1)C:\MinGW\bin должен содержать только файл mingw-get.exe
34 2)Откройте Командную строку (Нажмите кнопку Windows + R одновременно. Откроется окно "Выполнить", в поле открыть наберите cmd. Нажмите Ok). Наберите gcc -v. В командной строке выведется текст. В конце текста должно быть написано:
35 Thread model: posix
36 gcc version 4.9.2 (i686-posix-dwarf-rev0, Built by MinGW-W64 project)
37
38 2. Построение зависимостей.
39 В инструкции все зависимости сохраняются в папку c:\deps
40
41 2.1 OpenSSL 
42 -Скачайте https://openssl.org/source/openssl-1.0.2.tar.gz
43 -Перейдите в папку C:\MinGW\msys\1.0 и запустите msys.bat
44 Из MinGw shell выполните следующий код:
45
46 cd /c/deps/
47 tar xvfz openssl-1.0.2.tar.gz
48 cd openssl-1.0.2
49 Configure no-shared no-dso mingw
50 make
51
52 2.2 Berkeley DB
53 -Скачайте http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz
54 -Из MinGw shell выполните следующий код:
55
56 cd /c/deps/
57 tar xvfz db-6.0.20.tar.gz
58 cd db-6.0.20/build_unix
59 ../dist/configure --enable-mingw --enable-cxx --disable-shared --disable-replication
60 make
61
62 2.3 Boost
63 -Скачайте http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.7z/download
64 -Распакуйте boost_1_57_0.7z в папку C:\deps
65 -Откройте командную строку Windows, и выполните следующий код:
66
67 cd C:\deps\boost_1_57_0\
68 bootstrap.bat mingw
69 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
70
71 2.4 Miniupnpc
72 -Скачайте http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.20150206.tar.gz
73 -Распакуйте miniupnpc-1.9.20150206.tar.gz с помощью 7z. (Распаковать нужно 2 раза, нажмите на файле miniupnpc-1.9.20150206.tar.gz левой кнопкой мыши и выберите 7-Zip, затем Распаковать здесь. Появится файл miniupnpc-1.9.20150206.tar. С ним аналогично, левая кнопка мыши -> 7-Zip -> Распаковать здесь. Появится папка miniupnpc-1.9.20150206. Переименуйте её в miniupnpc.
74 -Откройте командную строку Windows, и выполните следующий код:
75
76 cd C:\deps\miniupnpc
77 mingw32-make -f Makefile.mingw init upnpc-static
78
79 2.5 qrencode
80 -Скачайте http://download.sourceforge.net/libpng/libpng-1.6.15.tar.gz?download
81 -Распакуйте
82 -Откройте MinGw shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код:
83
84 cd /c/deps/libpng-1.6.15
85 configure --disable-shared
86 make
87 cp .libs/libpng16.a .libs/libpng.a
88
89 -Скачайте http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz
90 -Распакуйте
91 -Выполните следующий код в MinGW shell:
92
93 cd /c/deps/qrencode-3.4.4
94
95 LIBS="../libpng-1.6.15/.libs/libpng.a ../../mingw32/i686-w64-mingw32/lib/libz.a" \
96 png_CFLAGS="-I../libpng-1.6.15" \
97 png_LIBS="-L../libpng-1.6.15/.libs" \
98 configure --enable-static --disable-shared --without-tools
99
100 make
101
102 2.6 Qt 5 и Qt 4
103 Библиотеки Qt будем хранить в папке C:\Qt
104 Для ускорения компиляции  вместо 
105 mingw32-make 
106 используйте
107 mingw32-make -j n , где вместо n количество ядер вашего процессора
108 Qt 5:
109 -Скачайте http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qtbase-opensource-src-5.4.0.7z
110 http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttools-opensource-src-5.4.0.7z
111 http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttranslations-opensource-src-5.4.0.7z
112
113 -Распакуйте в C:\Qt
114 -Переименуйте папку qtbase-opensource-src-5.4.0 в 5.4.0
115 -Откройте командную строку Windows и выполните следующий код:
116
117 set INCLUDE=C:\deps\libpng-1.6.15;C:\deps\openssl-1.0.2\include
118 set LIB=C:\deps\libpng-1.6.15\.libs;C:\deps\openssl-1.0.2
119
120 cd C:\Qt\5.4.0
121
122 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
123
124 mingw32-make
125
126 set PATH=%PATH%;C:\Qt\5.4.0\bin
127
128 cd C:\Qt\qttools-opensource-src-5.4.0
129 qmake qttools.pro
130 mingw32-make
131
132 cd C:\Qt\qttranslations-opensource-src-5.4.0
133 qmake qttranslations.pro
134 mingw32-make
135
136
137 Qt4:
138 -Скачайте http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip
139 -Распакуйте в C:\Qt
140 -Переименуйте папку qt-everywhere-opensource-src-4.8.6 в 4.8.6
141 -Откройте командную строку Windows и выполните следующий код:
142
143 cd C:\Qt\4.8.6
144
145 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
146
147 mingw32-make
148
149
150 3. Компиляция
151 Будем хранить исходники в папке C:\MyProjects
152
153 3.1 Скачиваем исходники
154 -Зайдите на сайт https://github.com/novacoin-project/novacoin 
155 -Нажмите Download ZIP
156 -Распакуйте novacoin-master.zip в C:\MyProjects
157
158 3.2 Собираем novacoind 
159 -Перейдите в папку C:\MyProjects\novacoin-master\src
160 -Откройте файл makefile.mingw в текстовом редакторе.(При написании инструкции использовался WordPad)
161 -Поменяйте USE_UPNP:=0 на USE_UPNP:=1
162 -Добавьте  строчку USE_ASM:=1
163 -Поменяйте текущие INCLUDEPATHS, LIBPATHS, LIBS на:
164
165 BOOST_SUFFIX?=-mgw49-mt-s-1_57
166
167 INCLUDEPATHS= \
168  -I"$(CURDIR)" \
169  -I"/c/deps/boost_1_57_0" \
170  -I"/c/deps" \
171  -I"/c/deps/db-6.0.20/build_unix" \
172  -I"/c/deps/openssl-1.0.2/include"
173  
174 LIBPATHS= \
175  -L"$(CURDIR)/leveldb" \
176  -L"/c/deps/boost_1_57_0/stage/lib" \
177  -L"/c/deps/miniupnpc" \
178  -L"/c/deps/db-6.0.20/build_unix" \
179  -L"/c/deps/openssl-1.0.2"
180
181 LIBS= \
182   -l leveldb \
183   -l memenv \
184   -l boost_system$(BOOST_SUFFIX) \
185   -l boost_filesystem$(BOOST_SUFFIX) \
186   -l boost_program_options$(BOOST_SUFFIX) \
187   -l boost_thread$(BOOST_SUFFIX) \
188   -l boost_chrono$(BOOST_SUFFIX) \
189   -l db_cxx \
190   -l ssl \
191   -l crypto
192
193 -Поменяйте LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat на 
194 LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static
195
196 -Если вы хотите использовать LevelDB как базу блоков то измените:
197 USE_LEVELDB:=0 
198 на
199 USE_LEVELDB:=1
200 (выше USE_IPV6:=1)
201 Так же измените 
202 cd leveldb; make; cd ..
203 на 
204 cd leveldb; TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a; cd ..
205
206 Ещё измените
207 obj/txdb-leveldb.o: leveldb/libleveldb.lib
208 на
209 obj/txdb-leveldb.o: leveldb/libleveldb.a
210
211
212
213 Если вы хотите использовать BerkeleyDB как базу блоков, то просто удалите строчку USE_LEVELDB:=1
214
215 -Сохраните измененный файл makefile.mingw
216
217 -Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код:
218
219 cd /c/MyProjects/novacoin-master/src
220 make -f makefile.mingw
221 strip novacoind.exe
222
223 Если у вас возникает ошибка "make: cc: Command not found", то поменяйте в файле makefile.mingw
224
225  $(CC) -c $(xCXXFLAGS) -MMD -o $@ $<
226 на
227  gcc -c $(xCXXFLAGS) -MMD -o $@ $<
228
229 Если всё сделано правильно, то файл novacoind.exe будет находится в папке C:\MyProjects\novacoin-master\src 
230
231
232 3.3 Собираем Novacoin QT
233
234 Внимание: Если вы хотите собирать Novacoin Qt с LevelDB, но пропустили шаг со сборкой novacoind.exe, то 
235 -Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код:
236
237 cd /c/myprojects/novacoin-master/src/leveldb
238 TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a
239
240 -Откройте файл C:\MyProjects\novacoin-master\novacoin-qt.pro в текстовом редакторе(при написании инструкции использовался WordPad)
241 -Ниже 
242 # Dependency library locations can be customized with:
243 #    BOOST_INCLUDE_PATH, BOOST_LIB_PATH, BDB_INCLUDE_PATH,
244 #    BDB_LIB_PATH, OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively
245 замените прописанные пути к зависимостям на
246
247 BOOST_LIB_SUFFIX=-mgw49-mt-s-1_57
248 BOOST_INCLUDE_PATH=C:/deps/boost_1_57_0
249 BOOST_LIB_PATH=C:/deps/boost_1_57_0/stage/lib
250 BDB_INCLUDE_PATH=C:/deps/db-6.0.20/build_unix
251 BDB_LIB_PATH=C:/deps/db-6.0.20/build_unix
252 OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.2/include
253 OPENSSL_LIB_PATH=C:/deps/openssl-1.0.2
254 MINIUPNPC_INCLUDE_PATH=C:/deps/
255 MINIUPNPC_LIB_PATH=C:/deps/miniupnpc
256 QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.4
257 QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.4/.libs
258
259 Так же измените(если ещё не изменено) 
260 LIBS += -lshlwapi
261 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
262
263 на
264  
265 LIBS += -lshlwapi
266 #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
267
268 Если в файле нет такой строчки CONFIG += static , то добавьте её.
269
270 Измените 
271 win32:QMAKE_LFLAGS........................
272 на 
273 win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static 
274
275 Измените 
276 windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX -Wl,-Bstatic -lpthread -Wl,-Bdynamic
277 на
278 windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX
279
280 -Сохраните измененный файл novacoin-qt.pro
281 -Откройте командную строку Windows и выполните следующий код:
282
283 Qt5 + транзакционный индекс BDB 
284
285 set PATH=%PATH%;C:\Qt\5.4.0\bin
286 cd C:\MyProjects\novacoin-master
287 qmake "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro
288 mingw32-make -f Makefile.Release
289
290
291 Qt5 + транзакционный индекс LevelDB
292
293 set PATH=%PATH%;C:\Qt\5.4.0\bin
294 cd C:\MyProjects\novacoin-master
295 qmake "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro
296 mingw32-make -f Makefile.Release
297
298 Qt4 + транзакционный индекс BDB
299
300 set PATH=%PATH%;C:\Qt\4.8.6\bin
301 cd C:\MyProjects\novacoin-master
302 qmake "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro
303 mingw32-make -f Makefile.Release
304
305 Qt4 + транзакционный индекс LevelDB
306
307 set PATH=%PATH%;C:\Qt\4.8.6\bin
308 cd C:\MyProjects\novacoin-master
309 qmake "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro
310 mingw32-make -f Makefile.Release
311
312
313
314 Если всё сделано правильно, то файл novacoin-qt.exe будет находится в папке C:\MyProjects\novacoin-master\release
315
316 Если вы хотите уменьшить размер бинарных файлов, то
317 1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx
318 2) Скачайте программу в соответсвии с вашей системой
319 3) Распакуйте программу в папку с бинарными Novacoin файлами.
320 4) Введите в консоли
321 upx -9 novacoind.exe
322 затем
323 upx -9 novacoin-qt.exe
324
325 И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза.
326
327
328
329 64 bit:
330 1.1 Так же как 32 bit
331
332 1.2 Так же как 32 bit
333
334 1.3 Установка MinGW-builds project toolchain:
335 Скачайте 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
336 и распакуйте на C:\
337
338 1.4 Удалите из переменной PATH путь C:\mingw32\bin; и добавьте в PATH путь C:\mingw64\bin;
339
340 Проверка что вы всё сделали правильно:
341 1)C:\MinGW\bin должен содержать только файл mingw-get.exe
342 2)Откройте Командную строку (Нажмите кнопку Windows + R одновременно. Откроется окно "Выполнить", в поле открыть наберите cmd. Нажмите Ok). Наберите gcc -v. В командной строке выведется текст. В конце текста должно быть написано:
343 Thread model: posix
344 gcc version 4.9.2 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)
345
346 2. Построение зависимостей.
347 В инструкции все зависимости сохраняются в папку c:\deps\x64
348
349 2.1  OpenSSL: http://www.openssl.org/source/openssl-1.0.2.tar.gz
350 -Перейдите в папку C:\MinGW\msys\1.0 и запустите msys.bat
351 Из MinGw shell выполните следующий код:
352
353 cd /c/deps/x64/
354 tar xvfz openssl-1.0.2.tar.gz
355 cd openssl-1.0.2
356 Configure no-shared no-dso mingw64
357 make
358
359 2.2 Так же как 32 bit, только cd /c/deps/ меняется на cd /c/deps/x64/
360
361 2.3 Так же как 32 bit, только распаковка в C:\deps\x64 и команда cd C:\deps\boost_1_57_0\ меняется на cd C:\deps\x64\boost_1_57_0\ 
362
363 2.4 Так же как 32 bit, только распаковка в C:\deps\x64 и заменить cd C:\deps\miniupnpc на cd C:\deps\x64\miniupnpc
364
365 2.5 Часть с libpng так же как 32 bit, только распаковка в C:\deps\x64 
366 Затем
367 -Скачайте http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz
368 -Распакуйте в C:\deps\x64
369 -Выполните следующий код в MinGW shell:
370
371 cd /c/deps/x64/qrencode-3.4.4
372
373 LIBS="../libpng-1.6.15/.libs/libpng.a ../../../mingw64/x86_64-w64-mingw32/lib/libz.a" \
374 png_CFLAGS="-I../libpng-1.6.15" \
375 png_LIBS="-L../libpng-1.6.15/.libs" \
376 configure --enable-static --disable-shared --without-tools
377
378 make
379
380
381 2.6 Qt 5 и Qt 4
382 Библиотеки Qt будем хранить в папке C:\Qt
383 Для ускорения компиляции  вместо 
384 mingw32-make 
385 используйте
386 mingw32-make -j n , где вместо n количество ядер вашего процессора
387 Qt 5:
388 -Скачайте http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qtbase-opensource-src-5.4.0.7z
389 http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttools-opensource-src-5.4.0.7z
390 http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttranslations-opensource-src-5.4.0.7z
391 -Распакуйте в C:\Qt
392 -Переименуйте папку qtbase-opensource-src-5.4.0 в 5.4.0-x64
393 -Переименуйте папку qttools-opensource-src-5.4.0 в qttools-opensource-src-5.4.0-x64
394 -Переименуйте папку qttranslations-opensource-src-5.4.0 в qttranslations-opensource-src-5.4.0-x64
395 -Откройте командную строку Windows и выполните следующий код:
396
397 set INCLUDE=C:\deps\x64\libpng-1.6.15;C:\deps\x64\openssl-1.0.2\include
398 set LIB=C:\deps\x64\libpng-1.6.15\.libs;C:\deps\x64\openssl-1.0.2
399
400 cd C:\Qt\5.4.0-x64
401
402 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
403
404 mingw32-make
405
406 set PATH=%PATH%;C:\Qt\5.4.0-x64\bin
407
408 cd C:\Qt\qttools-opensource-src-5.4.0-x64
409 qmake qttools.pro
410 mingw32-make
411
412 cd C:\Qt\qttranslations-opensource-src-5.4.0-x64
413 qmake qttranslations.pro
414 mingw32-make
415
416 Qt4:
417 -Скачайте http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip
418 -Распакуйте в C:\Qt
419 -Переименуйте папку qt-everywhere-opensource-src-4.8.6 в 4.8.6-x64
420 -Откройте командную строку Windows и выполните следующий код:
421
422 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
423
424 mingw32-make
425
426 3. Компиляция
427 Будем хранить исходники в папке C:\MyProjects
428
429 3.1 Так же как 32 bit
430
431 3.2 Собираем novacoind 
432 -Измените makefile.mingw так же как в 32 bit
433 -Откройте файл makefile.mingw в текстовом редакторе и сохраните его как makefile.ming64
434 -Измените в INCLUDEPATHS и LIBPATHS /c/deps/ на /c/deps/x64/
435 -Измените 
436 LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static 
437 на 
438 LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,-static, -static-libgcc
439 -Удалите (если они есть)obj(.o) файлы из C:\MyProjects\novacoin-master\src\obj , если остались после 32 bit
440 -Удалите (если они есть)libleveldb.a и libmemenv.a в папке C:\MyProjects\novacoin-master\src\leveldb
441 -Удалите (если они есть)obj(.o) файлы из 
442 C:\MyProjects\novacoin-master\src\leveldb\db 
443 C:\MyProjects\novacoin-master\src\leveldb\helpers\memenv
444 C:\MyProjects\novacoin-master\src\leveldb\port
445 C:\MyProjects\novacoin-master\src\leveldb\table
446 C:\MyProjects\novacoin-master\src\leveldb\util
447 -Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код:
448
449 cd /c/MyProjects/novacoin-master/src
450 make -f makefile.mingw64
451 strip novacoind.exe
452
453 Если всё сделано правильно, то файл novacoind.exe будет находится в папке C:\MyProjects\novacoin-master\src 
454
455
456 3.3 Собираем Novacoin QT
457 Внимание: Если вы хотите собирать Novacoin Qt с LevelDB, но пропустили шаг со сборкой novacoind.exe, то 
458 -Удалите (если они есть)libleveldb.a и libmemenv.a в папке C:\MyProjects\novacoin-master\src\leveldb
459 -Удалите (если они есть)obj(.o) файлы из 
460 C:\MyProjects\novacoin-master\src\leveldb\db 
461 C:\MyProjects\novacoin-master\src\leveldb\helpers\memenv
462 C:\MyProjects\novacoin-master\src\leveldb\port
463 C:\MyProjects\novacoin-master\src\leveldb\table
464 C:\MyProjects\novacoin-master\src\leveldb\util
465 -Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код:
466
467 cd /c/myprojects/novacoin-master/src/leveldb
468 TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a
469
470 -Измените файл novacoin-qt.pro так же как в 32 bit
471 -Откройте файл novacoin-qt.pro в текстовом редакторе и сохраните его как novacoin-qt64.pro
472 -Замените в INCLUDE и LIB путях текст C:/deps на текст C:/deps/x64 (то есть вместо C:/deps/boost_1_57_0 нужно C:/deps/x64/boost_1_57_0 и т.д.)
473 -Замените 
474 win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static 
475 на
476 win32:QMAKE_LFLAGS *= -Wl,-static
477
478 -Откройте командную строку Windows и выполните следующий код:
479
480 Qt5 + транзакционный индекс BDB 
481
482 set PATH=%PATH%;C:\Qt\5.4.0-x64\bin
483 cd C:\MyProjects\novacoin-master
484 qmake "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt64.pro
485 mingw32-make -f Makefile.Release
486
487
488 Qt5 + транзакционный индекс LevelDB
489
490 set PATH=%PATH%;C:\Qt\5.4.0-x64\bin
491 cd C:\MyProjects\novacoin-master
492 qmake "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt64.pro
493 mingw32-make -f Makefile.Release
494
495 Qt4 + транзакционный индекс BDB
496
497 set PATH=%PATH%;C:\Qt\4.8.6-x64\bin
498 cd C:\MyProjects\novacoin-master
499 qmake "USE_UPNP=1" "USE_IPV6=1" "USE_ASM=1" novacoin-qt64.pro
500 mingw32-make -f Makefile.Release
501
502 Qt4 + транзакционный индекс LevelDB
503
504 set PATH=%PATH%;C:\Qt\4.8.6-x64\bin
505 cd C:\MyProjects\novacoin-master
506 qmake "USE_UPNP=1" "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt64.pro
507 mingw32-make -f Makefile.Release
508
509 Если всё сделано правильно, то файл novacoin-qt.exe будет находится в папке C:\MyProjects\novacoin-master\release
510
511 Если вы хотите уменьшить размер бинарных файлов, то
512 1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx
513 2) Скачайте программу в соответсвии с вашей системой
514 3) Распакуйте программу в папку с бинарными Novacoin файлами.
515 4) Введите в консоли
516 upx -9 novacoind.exe
517 затем
518 upx -9 novacoin-qt.exe
519
520 И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза.