It's a c++: use string.clear()
[novacoin.git] / doc / building novacoin-qt for android under Windows.txt
index 978fd9c..a9d7ef3 100644 (file)
@@ -1,4 +1,5 @@
-\feff1.1 Установка архиватора 7z: http://www.7-zip.org/ 
+\feffARMV7
+1.1 Установка архиватора 7z: http://www.7-zip.org/ 
 (при написании инструкции использовался 7-Zip 9.20 64 bit X64, но скорее всего подойдёт любая версия)
 
 1.2 Установка msys shell:
@@ -78,13 +79,13 @@ RANLIB /c/Android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt
 В инструкции все зависимости сохраняются в папку C:\Android\deps
 
 2.1 OpenSSL 
--Скачайте http://www.openssl.org/source/openssl-1.0.1k.tar.gz
+-Скачайте http://www.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.1k.tar.gz
-cd openssl-1.0.1k
+tar xvfz openssl-1.0.2.tar.gz
+cd openssl-1.0.2
 Configure no-shared no-dso android-armv7
 make
 
@@ -145,25 +146,6 @@ TARGET_OS=OS_ANDROID_CROSSCOMPILE make libleveldb.a libmemenv.a
 3. Компиляция
 3.1 Собираем Novacoin QT
 
-Откройте файл src\compat.h
-Измените #include <sys/fcntl.h> на #include <fcntl.h>
-
-Откройте файл src\util.cpp
-Закоментируйте строки с 59 по 61
-//#ifndef WIN32
-//#include <execinfo.h>
-//#endif
-Закоментируйте строки с 1062 по 1067
-//#ifndef WIN32
-//        void* pszBuffer[32];
-//        size_t size;
-//        size = backtrace(pszBuffer, 32);
-//        backtrace_symbols_fd(pszBuffer, size, fileno(fileout));
-//#endif
-
-Откройте файл src\netbase.cpp
-Измените #include <sys/fcntl.h> на #include <fcntl.h>
-
 Откройте файл novacoin-qt.pro
 Вместо 
 
@@ -177,8 +159,6 @@ TARGET_OS=OS_ANDROID_CROSSCOMPILE make libleveldb.a libmemenv.a
 
 вставьте 
 
-USE_UPNP=-
-USE_QRCODE=0
 USE_IPV6=0
 USE_LEVELDB=1
 USE_ASM=1
@@ -188,8 +168,8 @@ BOOST_INCLUDE_PATH=C:/Android/deps/boost_1_57_0
 BOOST_LIB_PATH=C:/Android/deps/boost_1_57_0/stage/lib
 BDB_INCLUDE_PATH=C:/Android/deps/db-6.0.20/build_unix
 BDB_LIB_PATH=C:/Android/deps/db-6.0.20/build_unix
-OPENSSL_INCLUDE_PATH=C:/Android/deps/openssl-1.0.1k/include
-OPENSSL_LIB_PATH=C:/Android/deps/openssl-1.0.1k
+OPENSSL_INCLUDE_PATH=C:/Android/deps/openssl-1.0.2/include
+OPENSSL_LIB_PATH=C:/Android/deps/openssl-1.0.2
 
 Вместо
 
@@ -258,7 +238,47 @@ LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -l
 -Должно найтись Android устройство. https://yadi.sk/i/wFWZLxtie4DrN
 Если Windows не может найти драйвер для устройства, то укажите самостоятельно в папке C:\Android\sdk\extras\google\usb_driver есть файл android_winusb.inf
 -В QtCreator'е нажмите на зеленого робота и выберите Сборка: Выпуск
--Нажмите зеленую стрелку(Запустить)
--Выберите свой телефон/планшет и ждите завершения компиляции.
-https://yadi.sk/i/hKHKL_Phe4EFL
+-Нажмите зеленую стрелку(Запустить)(https://yadi.sk/i/hKHKL_Phe4EFL)
+-Выберите свой телефон/планшет, нажмите OK и ждите завершения компиляции.
 -После завершения компиляции Novacoin-Qt будет установлен на ваш телефон/планшет и запущен. А в папке C:\Android\build-novacoin-qt-Android_armeabi_v7a_GCC_4_9_Qt_5_4_0-Release\android-build\bin будет файл QtApp-debug.apk. Переименуйте его в Novacoin-Qt-0.5.1-debug.apk и можно распростронять :)
+
+Изменения для Android X86
+1. Добавить путь C:\Android\android-ndk-r10d\toolchains\x86-4.9\prebuilt\windows-x86_64\bin в переменную PATH
+2. Изменить системные переменные так:
+
+ANDROID_DEV /c/Android/android-ndk-r10d/platforms/android-9/arch-x86/usr
+AR /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ar
+AS /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-as
+CC /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-gcc
+CFLAGS --sysroot=/c/Android/android-ndk-r10d/platforms/android-9/arch-x86/
+CPP /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-cpp
+CPPFLAGS --sysroot=/c/Android/android-ndk-r10d/platforms/android-9/arch-x86/
+CXX /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-g++
+CXXFLAGS --sysroot=/c/Android/android-ndk-r10d/platforms/android-9/arch-x86/ -I/c/Android/android-ndk-r10d/sources/cxx-stl/gnu-libstdc++/4.9/include -I/c/Android/android-ndk-r10d/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include
+LD /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ld
+NDK_PROJECT_PATH C:\Android\android-ndk-r10d
+RANLIB /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ranlib
+
+3. При построении OpenSSL выполнить
+Configure no-shared no-dso android-x86
+вместо
+Configure no-shared no-dso android-armv7
+
+4. При построении BerkeleyDB выполнить
+../dist/configure --host=x86-none-linux --enable-cxx --disable-shared --disable-replication
+вместо
+../dist/configure --host=arm-none-linux --enable-cxx --disable-shared --disable-replication
+
+5. При построении Boost вставить
+using gcc : x86 : i686-linux-android-g++.exe ;
+вместо 
+using gcc : arm : arm-linux-androideabi-g++.exe ;
+
+и выполнить
+b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi threadapi=pthread target-os=android define=BOOST_MATH_DISABLE_FLOAT128 include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\include include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\libs\x86\include include=C:\Android\android-ndk-r10d\platforms\android-9\arch-x86\usr\include
+
+вместо
+
+b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc-arm variant=release link=static threading=multi threadapi=pthread target-os=android define=BOOST_MATH_DISABLE_FLOAT128 include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\include include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi\include include=C:\Android\android-ndk-r10d\platforms\android-9\arch-arm\usr\include
+
+6. В QtCreator выбирать Android для X86 вместо Android для armeabi-v7a