\feff1. Подготовка системы.
+Внимание: данная инструкция (включая сопутствуюшие файлы) расчитана на сборку в среде Windows 64-bit.
1.1 Установка архиватора 7z: http://www.7-zip.org/
(при написании инструкции использовался 7-Zip 9.20 64 bit X64, но скорее всего подойдёт любая версия)
1.2 Установка Visual Studio 2012. (Подойдёт даже бесплатная версия)
http://www.microsoft.com/ru-ru/download/details.aspx?id=34673
+Установить обновление Visual Studio 2012 Update 4
+http://www.microsoft.com/ru-ru/download/details.aspx?id=39305
1.3 Установка Perl(при написании инструкции использовался ActivePerl-5.16.3.1604-MSWin32-x86-298023.msi)
http://www.activestate.com/activeperl/downloads
Скопируйте папку build-helpers(находится в архиве с исходниками в папке MSVC) и вставьте в папку C:\MyProjects\Deps
2.1 OpenSSL
--Скачайте http://www.openssl.org/source/openssl-1.0.1j.tar.gz
+-Скачайте http://www.openssl.org/source/openssl-1.0.2.tar.gz
-Распакуйте архив в папку C:\MyProjects\Deps
-Откройте командную строку Windows и выполните следующий код:
-Запустите Visual Studio 2012
-Откройте C:\MyProjects\Deps\db-6.0.20\build_windows\Berkeley_DB_vs2010.sln
-Выберете проект db
--Перейдите в Свойства -> C/C++ -> Создание кода
--Измените в конфигурации Debug "Многопоточная отладка DLL" на "Многопоточную отладка"
--Измените в конфигурации Release "Многопоточный DLL" на "Многопоточный"
--Конфигурации измените и для 32 bit и для 64 bit (если вам нужно 64 bit)
--Нажмите левой кнопкой мыши на проект db, затем "Только проект" -> "Построить только db"
--Постройте так все конфигурации(Debug 32 bit, Release 32 bit, Debug X64, Release X64)
-
-Проверка если вы всё сделали правильно то у вас будут файлы:
-C:\MyProjects\Deps\db-6.0.20\build_windows\Win32\Release\libdb60.lib
-C:\MyProjects\Deps\db-6.0.20\build_windows\Win32\Debug\libdb60d.lib
-C:\MyProjects\Deps\db-6.0.20\build_windows\x64\Release\libdb60.lib
-C:\MyProjects\Deps\db-6.0.20\build_windows\x64\Debug\libdb60d.lib
+-Измените конфигурацию с Debug на Static Debug
+-Нажмите правой кнопкой мыши на проект db, затем в "Свойства" -> "Общие" убедитесь, что Набор символов "Использовать многобайтовую кодировку"
+-Перейдите в "C/C++" -> "Препроцессор" -> "Определения препроцессора" и удалите _UNICODE и UNICODE, также убедитесь, что в Унаследованных значениях нет
+_UNICODE и UNICODE
+-Нажмите правой кнопкой мыши на проект db, затем "Только проект" -> "Построить только db"
+-Постройте так все Static конфигурации(Static Debug 32 bit, Static Release 32 bit, Static Debug X64, Static Release X64)
+
+Проверка:
+Если вы всё сделали правильно то у вас будут файлы:
+C:\MyProjects\Deps\db-6.0.20\build_windows\Win32\Static Release\libdb60s.lib
+C:\MyProjects\Deps\db-6.0.20\build_windows\Win32\Static Debug\libdb60sd.lib
+C:\MyProjects\Deps\db-6.0.20\build_windows\x64\Static Release\libdb60s.lib
+C:\MyProjects\Deps\db-6.0.20\build_windows\x64\Static Debug\libdb60sd.lib
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:\MyProjects\Deps
+-Скачайте http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.7z/download
+-Распакуйте boost_1_57_0.7z в папку C:\MyProjects\Deps
-Откройте командную строку Windows и выполните следующий код:
cd C:\MyProjects\Deps\build-helpers
-Скачайте 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 XP, то откройте файл miniupnpc.c и добавьте после всех инклудов #undef IF_NAMESIZE
-Откройте командную строку Windows и выполните следующий код:
cd C:\MyProjects\Deps\build-helpers
buildqrcode.bat
2.6 Qt 5
--Скачайте http://download.qt-project.org/official_releases/qt/5.1/5.1.1/single/qt-everywhere-opensource-src-5.3.2.7z
+-Скачайте http://download.qt-project.org/official_releases/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.7z
-Распакуйте в C:\MyProjects\Deps
-Если вам нужна поддержка 64 bit, то переименуйте папку qt-everywhere-opensource-src-5.3.2 в qt-everywhere-opensource-src-5.3.2-64
(если вам нужна возможность строить и 32 bit и 64 bit бинарники, то у вас должны быть обе папки и qt-everywhere-opensource-src-5.3.2-64 и qt-everywhere-opensource-src-5.3.2 )
3. Компиляция
Будем хранить исходники в папке C:\MyProjects
+3.0 Подготовка Microsoft Visual Studio 2012 к работе
+-Откройте Microsoft Visual Studio 2012
+-Нажмите СЕРВИС -> Параметры.. -> Текстовый редактор -> Все языки -> Табуляция и поставьте флажок "Вставлять пробелы"
+(Если у вас английская версия, то это выглядит так: Tools->Options->Text Editor->All Languages->Tabs и поставьте флажок "Insert Spaces" вместо "Keep Tabs".)
+
3.1 Скачиваем исходники
-Зайдите на сайт https://github.com/novacoin-project/novacoin
-Нажмите Download ZIP
-Выберете проект NovacoinD, перейдите в свойства -> С\С++ -> Препроцессор, удалите USE_LEVELDB
-Выберете проект NovacoinQT, перейдите в свойства -> С\С++ -> Препроцессор, удалите USE_LEVELDB
+Если вы хотите уменьшить размер бинарных файлов, то
+1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx
+2) Скачайте программу в соответсвии с вашей системой
+3) Распакуйте программу в папку с бинарными Novacoin файлами.
+4) Введите в консоли
+upx -9 NovacoinD.exe
+затем
+upx -9 NovacoinQT.exe
+
+И ваши NovacoinD и NovacoinQT станут меньше ~ в 3 раза.