MSVC
[novacoin.git] / doc / building novacoind and novacoinqt under Windows with MSVC.txt
1 \feff1. Подготовка системы.
2
3 1.1 Установка архиватора 7z: http://www.7-zip.org/ 
4 (при написании инструкции использовался 7-Zip 9.20 64 bit X64, но скорее всего подойдёт любая версия)
5
6 1.2 Установка Visual Studio 2012. (Подойдёт даже бесплатная версия)
7 http://www.microsoft.com/ru-ru/download/details.aspx?id=34673
8
9 1.3 Установка Perl(при написании инструкции использовался ActivePerl-5.16.3.1604-MSWin32-x86-298023.msi)
10 http://www.activestate.com/activeperl/downloads
11 Убедитесь что после установки Perl в PATH есть пути(у меня Perl был установлен на диск C:\) C:\Perl\site\bin;C:\Perl\bin;
12
13 1.4 Установка Python(подойдёт и 2 версия и 3 версия)(при написании инструкции использовался Python 3.3.3)
14 https://www.python.org/downloads/
15 Убедитесь что после установки Python в PATH есть путь до python.exe
16
17 1.5 Установка Nasm (при написании инструкции использовался nasm-2.07-installer.exe)
18 http://sourceforge.net/projects/nasm/files/latest/download
19 Убедитесь что после установки Nasm в PATH есть путь до Nasm.exe 
20
21 2. Построение зависимостей.
22 В инструкции все зависимости сохраняются в папку C:\MyProjects\Deps
23 Скопируйте папку build-helpers(находится в архиве с исходниками в папке MSVC) и вставьте в папку C:\MyProjects\Deps
24
25 2.1 OpenSSL 
26 -Скачайте http://www.openssl.org/source/openssl-1.0.1j.tar.gz
27 -Распакуйте архив в папку C:\MyProjects\Deps
28 -Откройте командную строку Windows и выполните следующий код:
29
30 cd C:\MyProjects\Deps\build-helpers
31 buildopenssl.bat
32
33
34 2.2 Berkeley DB
35 -Скачайте http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz
36 -Распакуйте архив в папку C:\MyProjects\Deps
37 -Запустите Visual Studio 2012
38 -Откройте C:\MyProjects\Deps\db-6.0.20\build_windows\Berkeley_DB_vs2010.sln
39 -Выберете проект db
40 -Перейдите в Свойства -> C/C++ -> Создание кода
41 -Измените в конфигурации Debug "Многопоточная отладка DLL" на "Многопоточную отладка"
42 -Измените в конфигурации Release "Многопоточный DLL" на "Многопоточный"
43 -Конфигурации измените и для 32 bit и для 64 bit (если вам нужно 64 bit)
44 -Нажмите левой кнопкой мыши на  проект db, затем "Только проект" -> "Построить только db"
45 -Постройте так все конфигурации(Debug 32 bit, Release 32 bit, Debug X64, Release X64)
46
47 Проверка если вы всё сделали правильно то у вас будут файлы:
48 C:\MyProjects\Deps\db-6.0.20\build_windows\Win32\Release\libdb60.lib
49 C:\MyProjects\Deps\db-6.0.20\build_windows\Win32\Debug\libdb60d.lib
50 C:\MyProjects\Deps\db-6.0.20\build_windows\x64\Release\libdb60.lib
51 C:\MyProjects\Deps\db-6.0.20\build_windows\x64\Debug\libdb60d.lib
52
53 2.3 Boost
54 -Скачайте http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.7z/download
55 -Распакуйте boost_1_55_0.7z в папку C:\MyProjects\Deps
56 -Откройте командную строку Windows и выполните следующий код:
57
58 cd C:\MyProjects\Deps\build-helpers
59 buildboost.bat
60
61 2.4 Miniupnpc
62 -Скачайте http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.8.20131209.tar.gz
63 -Распакуйте 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. 
64 -Переименуйте папку в miniupnpc.
65 -Откройте командную строку Windows и выполните следующий код:
66
67 cd C:\MyProjects\Deps\build-helpers
68 buildminiupnpc.bat
69
70 2.5 qrencode
71 -Скачайте http://qrencode-win32.googlecode.com/archive/681f2ea7a41f919486d9932b3352a2e6920e1cb9.zip
72 -Распакуйте
73 -Откройте командную строку Windows и выполните следующий код:
74
75 cd C:\MyProjects\Deps\build-helpers
76 buildqrcode.bat
77
78 2.6 Qt 5
79 -Скачайте http://download.qt-project.org/official_releases/qt/5.1/5.1.1/single/qt-everywhere-opensource-src-5.3.2.7z
80 -Распакуйте в C:\MyProjects\Deps
81 -Если вам нужна поддержка 64 bit, то переименуйте папку qt-everywhere-opensource-src-5.3.2 в qt-everywhere-opensource-src-5.3.2-64
82 (если вам нужна возможность строить и 32 bit и 64 bit бинарники, то у вас должны быть обе папки и qt-everywhere-opensource-src-5.3.2-64 и qt-everywhere-opensource-src-5.3.2 )
83 -Откройте командную строку Windows и выполните следующий код:
84
85 cd C:\MyProjects\Deps\build-helpers
86 buildqt32.bat 
87
88 или для 64 bit
89
90 cd C:\MyProjects\Deps\build-helpers
91 buildqt64.bat
92
93
94 3. Компиляция
95 Будем хранить исходники в папке C:\MyProjects
96
97 3.1 Скачиваем исходники
98 -Зайдите на сайт https://github.com/novacoin-project/novacoin 
99 -Нажмите Download ZIP
100 -Распакуйте novacoin-master.zip в C:\MyProjects
101 -переименуйте novacoin-master в Novacoin
102
103 3.2 Компиляция
104 -Откройте Microsoft Visual Studio 2012
105 -Откройте файл C:\MyProjects\Novacoin\MSVC\NovacoinSolution.sln
106 -Можете компилировать и NovacoinD и NovacoinQT 
107 (по-умолчанию выставлена компиляция с LevelDB, если вы хотите компилировать с BerkleyDB, то
108 -Выберете проект libcommon, перейдите в свойства -> С\С++ -> Препроцессор, удалите USE_LEVELDB
109 -Удалите из проекта libcommon libcommon -> Source Files -> txdb-leveldb.cpp и добавьте в проект
110 txdb-bdb.cpp
111 -Удалите из проекта libcommon libcommon -> Header Files -> txdb-leveldb.h и добавьте в проект
112 txdb-bdb.h
113 -Выберете проект NovacoinD, перейдите в свойства -> С\С++ -> Препроцессор, удалите USE_LEVELDB
114 -Выберете проект NovacoinQT, перейдите в свойства -> С\С++ -> Препроцессор, удалите USE_LEVELDB
115