diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index b75f833..071de4d 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -1,9 +1,9 @@ - + - + - + @@ -61,7 +61,7 @@ https://bugreports.qt.io/browse/QTBUG-50759 если ставишь таргет апи 25 то сегфолт на create_directory(/sdcard/gostcoin) --> - + - diff --git a/android/gostcoin-qt-android.pro b/android/gostcoin-qt-android.pro index 36e35e4..9874294 100644 --- a/android/gostcoin-qt-android.pro +++ b/android/gostcoin-qt-android.pro @@ -2,22 +2,11 @@ TEMPLATE = app TARGET = gostcoin-qt VERSION = 0.8.5.12 INCLUDEPATH += ../src ../src/json ../src/qt ../src/i2psam -QT += core gui network androidextras -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets -DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE BOOST_NO_CXX11_SCOPED_ENUMS +QT += core gui network widgets androidextras +DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE BOOST_NO_CXX11_SCOPED_ENUMS _FILE_OFFSET_BITS=64 ANDROID=1 __ANDROID__ CONFIG += no_include_pwd CONFIG += thread -QMAKE_CXXFLAGS=-fstack-protector-strong -DANDROID -fno-builtin-memmove --sysroot=/home/user/SDKS/ANDROID/NDK/android-ndk-r13b/platforms/android-9/arch-arm/ -std=c++11 - -# for boost 1.37, add -mt to the boost libraries -# use: qmake BOOST_LIB_SUFFIX=-mt -# for boost thread win32 with _win32 sufix -# use: BOOST_THREAD_LIB_SUFFIX=_win32-... -# or when linking against a specific BerkelyDB version: BDB_LIB_SUFFIX=-4.8 - -# Dependency library locations can be customized with: -# BOOST_INCLUDE_PATH, BOOST_LIB_PATH, BDB_INCLUDE_PATH, -# BDB_LIB_PATH, OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively +QMAKE_CXXFLAGS = -std=c++11 -fstack-protector-strong -fno-builtin-memmove OBJECTS_DIR = build MOC_DIR = build @@ -27,116 +16,64 @@ USE_IPV6=0 USE_LEVELDB=1 USE_ASM=1 -android { - message("Using Android settings") - - # change to your own path, where you will store all needed libraries with 'git clone' commands below. - MAIN_PATH = /path/to/libraries - # change to your own Android NDK path - NDK_PATH = /home/user/SDKS/ANDROID/NDK/android-ndk-r13b - - # git clone https://github.com/PurpleI2P/MiniUPnP-for-Android-Prebuilt.git - # git clone git@github.com:hypnosis-i2p/android-ifaddrs-from-android-source.git - #boost 53, 62 are not ok - BOOST_PATH = $$MAIN_PATH/take3/boost_1_57_0 -#/stage/lib - OPENSSL_PATH = $$MAIN_PATH/take3/openssl-1.0.2l - #MINIUPNP_PATH = $$MAIN_PATH/MiniUPnP-for-Android-Prebuilt - IFADDRS_PATH = $$MAIN_PATH/android-ifaddrs-from-android-source - BDB_PATH = $$MAIN_PATH/take3/db-6.0.20/build_unix - - DEFINES += ANDROID=1 - DEFINES += __ANDROID__ - - CONFIG += mobility - - MOBILITY = - - INCLUDEPATH += \ - $$NDK_PATH/sources/cxx-stl/gnu-libstdc++/4.9/include \ - $$NDK_PATH/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include \ - $$BOOST_PATH \ - $$OPENSSL_PATH/include \ - $$IFADDRS_PATH \ - $$BDB_PATH \ - build -# $$NDK_PATH/platforms/android-9/arch-arm/usr/include/ \ -# $$NDK_PATH/sources/cxx-stl/stlport/stlport/ -I $NDK_PATH/sources/cxx-stl/system/include/ - -#\ -# $$MINIUPNP_PATH/miniupnp-2.0/include \ - DISTFILES += AndroidManifest.xml - - ANDROID_PACKAGE_SOURCE_DIR = $$PWD/ - - SOURCES += $$IFADDRS_PATH/ifaddrs.cpp $$IFADDRS_PATH/bionic_netlink.cpp - HEADERS += $$IFADDRS_PATH/ifaddrs.h $$IFADDRS_PATH/ErrnoRestorer.h $$IFADDRS_PATH/bionic_netlink.h $$IFADDRS_PATH/bionic_macros.h - - equals(ANDROID_TARGET_ARCH, armeabi-v7a){ - DEFINES += ANDROID_ARM7A - # http://stackoverflow.com/a/30235934/529442 -# LIBS += -L$$BOOST_PATH/boost_1_53_0/armeabi-v7a/lib \ -# -lboost_system-gcc-mt-1_53 -lboost_atomic-gcc-mt-1_53 \ -# -lboost_filesystem-gcc-mt-1_53 -lboost_chrono-gcc-mt-1_53 -lboost_thread-gcc-mt-1_53 -lboost_program_options-gcc-mt-1_53 \ -# -L$$OPENSSL_PATH/armeabi-v7a/lib/ -lcrypto -lssl -#\ -# -L$$MINIUPNP_PATH/miniupnp-2.0/armeabi-v7a/lib/ -lminiupnpc - BOOST_POSTFIX=-gcc-mt-1_57 - LIBS += -L$$BOOST_PATH/stage/lib \ - -lboost_atomic$$BOOST_POSTFIX \ - -lboost_chrono$$BOOST_POSTFIX \ - -lboost_filesystem$$BOOST_POSTFIX \ - -lboost_program_options$$BOOST_POSTFIX \ - -lboost_system$$BOOST_POSTFIX \ - -lboost_thread$$BOOST_POSTFIX \ - -L$$OPENSSL_PATH -lcrypto -lssl -#\ -# -L$$MINIUPNP_PATH/miniupnp-2.0/armeabi-v7a/lib/ -lminiupnpc - - PRE_TARGETDEPS += $$OPENSSL_PATH/libcrypto.a \ - $$OPENSSL_PATH/libssl.a - DEPENDPATH += $$OPENSSL_PATH/include - -# ANDROID_EXTRA_LIBS += $$OPENSSL_PATH/armeabi-v7a/lib/libcrypto_1_0_0.so \ -# $$OPENSSL_PATH/armeabi-v7a/lib/libssl_1_0_0.so -#\ -# $$MINIUPNP_PATH/miniupnp-2.0/armeabi-v7a/lib/libminiupnpc.so - } - - equals(ANDROID_TARGET_ARCH, x86){ - error("Android BDB: don't know how to build BDB for Android x86") - - # http://stackoverflow.com/a/30235934/529442 - LIBS += -L$$BOOST_PATH/boost_1_62_0/x86/lib \ - -lboost_system-gcc-mt-1_62 -lboost_date_time-gcc-mt-1_62 \ - -lboost_filesystem-gcc-mt-1_62 -lboost_program_options-gcc-mt-1_62 \ - -L$$OPENSSL_PATH/openssl-1.1.0/x86/lib/ -lcrypto -lssl -#\ -# -L$$MINIUPNP_PATH/miniupnp-2.0/x86/lib/ -lminiupnpc - - PRE_TARGETDEPS += $$OPENSSL_PATH/openssl-1.1.0/x86/lib/libcrypto.a \ - $$OPENSSL_PATH/openssl-1.1.0/x86/lib/libssl.a - - DEPENDPATH += $$OPENSSL_PATH/openssl-1.1.0/include - - ANDROID_EXTRA_LIBS += $$OPENSSL_PATH/openssl-1.1.0/x86/lib/libcrypto_1_0_0.so \ - $$OPENSSL_PATH/openssl-1.1.0/x86/lib/libssl_1_0_0.so -#\ -# $$MINIUPNP_PATH/miniupnp-2.0/x86/lib/libminiupnpc.so - } +# git clone https://github.com/PurpleI2P/Boost-for-Android-Prebuilt.git +# git clone https://github.com/PurpleI2P/OpenSSL-for-Android-Prebuilt.git +# git clone https://github.com/PurpleI2P/MiniUPnP-for-Android-Prebuilt.git +# git clone https://github.com/GOSTSec/android-ifaddrs-from-android-source.git +MAIN_PATH = /path/to/libraries +ANDROID_NDK_PLATFORM = /path/to/android-ndk +ANDROID_PLATFORM = android-14 + +QMAKE_CXXFLAGS += -DANDROID --sysroot=$$ANDROID_NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-arm/ -std=c++11 + +BOOST_PATH = $$MAIN_PATH/Boost-for-Android-Prebuilt/boost_1_64_0 +OPENSSL_PATH = $$MAIN_PATH/OpenSSL-for-Android-Prebuilt/openssl-1.1.1 +IFADDRS_PATH = $$MAIN_PATH/android-ifaddrs-from-android-source +BDB_PATH = $$MAIN_PATH/db-6.0.20/build_unix + +BOOST_LIB_PATH = $$BOOST_PATH/$$ANDROID_TARGET_ARCH/lib +OPENSSL_LIB_PATH = $$OPENSSL_PATH/$$ANDROID_TARGET_ARCH/lib + +CONFIG += mobility + +MOBILITY = + +INCLUDEPATH += \ + $$ANDROID_NDK_ROOT/sources/cxx-stl/gnu-libstdc++/4.9/include \ + $$ANDROID_NDK_ROOT/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include \ + $$BOOST_PATH/include \ + $$OPENSSL_PATH/include \ + $$IFADDRS_PATH \ + $$BDB_PATH \ + build + +DISTFILES += AndroidManifest.xml + +ANDROID_PACKAGE_SOURCE_DIR = $$PWD/ + +SOURCES += $$IFADDRS_PATH/ifaddrs.cpp $$IFADDRS_PATH/bionic_netlink.cpp +HEADERS += $$IFADDRS_PATH/ifaddrs.h $$IFADDRS_PATH/ErrnoRestorer.h $$IFADDRS_PATH/bionic_netlink.h $$IFADDRS_PATH/bionic_macros.h + +#LIBS += -Wl,-Bstatic + +equals(ANDROID_TARGET_ARCH, armeabi-v7a){ + DEFINES += ANDROID_ARM7A + LIBS += $${BOOST_LIB_PATH}/libboost_atomic.a \ + $${BOOST_LIB_PATH}/libboost_chrono.a \ + $${BOOST_LIB_PATH}/libboost_filesystem.a \ + $${BOOST_LIB_PATH}/libboost_program_options.a \ + $${BOOST_LIB_PATH}/libboost_system.a \ + $${BOOST_LIB_PATH}/libboost_thread.a \ + $${OPENSSL_LIB_PATH}/libssl.a \ + $${OPENSSL_LIB_PATH}/libcrypto.a } -!win32 { - # for extra security against potential buffer overflows: enable GCCs Stack Smashing Protection -# QMAKE_CXXFLAGS *= -fstack-protector-all -# QMAKE_CFLAGS *= -fstack-protector-all -# QMAKE_LFLAGS *= -fstack-protector-all - # Exclude on Windows cross compile with MinGW 4.2.x, as it will result in a non-working executable! - # This can be enabled for Windows, when we switch to MinGW >= 4.4.x. +equals(ANDROID_TARGET_ARCH, x86){ + error("Android BDB: don't know how to build BDB for Android x86") } -# for extra security (see: https://wiki.debian.org/Hardening): this flag is GCC compiler-specific -#-D_FORTIFY_SOURCE=2 -QMAKE_CXXFLAGS *= -std=c++11 + +# linking with libdb-c++ +LIBS += $$BDB_PATH/libdb_cxx.a # use: qmake "USE_QRCODE=1" # libqrencode (http://fukuchi.org/works/qrencode/index.en.html) must be installed for support @@ -146,13 +83,6 @@ contains(USE_QRCODE, 1) { LIBS += -lqrencode } -# use: qmake "USE_DBUS=1" -contains(USE_DBUS, 1) { - message(Building with DBUS (Freedesktop notifications) support) - DEFINES += USE_DBUS - QT += dbus -} - # use: qmake "USE_IPV6=1" ( enabled by default; default) # or: qmake "USE_IPV6=0" (disabled by default) # or: qmake "USE_IPV6=-" (not supported) @@ -172,22 +102,23 @@ contains(BITCOIN_NEED_QT_PLUGINS, 1) { INCLUDEPATH += ../src/leveldb/include ../src/leveldb/helpers LIBS += $$PWD/../src/leveldb/libleveldb.a $$PWD/../src/leveldb/libmemenv.a -!win32 { - # we use QMAKE_CXXFLAGS_RELEASE even without RELEASE=1 because we use RELEASE to indicate linking preferences not -O preferences - !android { - genleveldb.commands = echo "QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS" && cd $$PWD/../src/leveldb && TARGET_OS=OS_ANDROID_CROSSCOMPILE CC=$$QMAKE_CC CXX=$$QMAKE_CXX AR=$$NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ar $(MAKE) OPT=\"-I $$NDK_PATH/platforms/android-9/arch-arm/usr/include/ -I $$NDK_PATH/sources/cxx-stl/gnu-libstdc++/4.9/include -I $$NDK_PATH/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include/ $$QMAKE_CXXFLAGS \" libleveldb.a libmemenv.a - } -} -genleveldb.target = $$PWD/../src/leveldb/libleveldb.a -genleveldb.depends = FORCE -PRE_TARGETDEPS += $$PWD/../src/leveldb/libleveldb.a -QMAKE_EXTRA_TARGETS += genleveldb + +# TODO: rewrite! +#!android { +# genleveldb.commands = echo "QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS" && cd $$PWD/../src/leveldb && TARGET_OS=OS_ANDROID_CROSSCOMPILE CC=$$QMAKE_CC CXX=$$QMAKE_CXX AR=$$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ar $(MAKE) OPT=\"-I $$ANDROID_NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-arm/usr/include/ -I $$ANDROID_NDK_ROOT/sources/cxx-stl/gnu-libstdc++/4.9/include -I $$ANDROID_NDK_ROOT/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include/ $$QMAKE_CXXFLAGS \" libleveldb.a libmemenv.a +#} +#genleveldb.target = $$PWD/../src/leveldb/libleveldb.a +#genleveldb.depends = FORCE + +#PRE_TARGETDEPS += $$PWD/../src/leveldb/libleveldb.a +#QMAKE_EXTRA_TARGETS += genleveldb # Gross ugly hack that depends on qmake internals, unfortunately there is no other way to do it. -QMAKE_CLEAN += $$PWD/../src/leveldb/libleveldb.a; cd $$PWD/../src/leveldb ; $(MAKE) clean +#QMAKE_CLEAN += $$PWD/../src/leveldb/libleveldb.a; cd $$PWD/../src/leveldb ; $(MAKE) clean # regenerate ../src/build.h -#!win32|contains(USE_BUILD_INFO, 1) { +#contains(USE_BUILD_INFO, 1) { # genbuild.depends = FORCE +# # TODO: make it compatible with android # genbuild.commands = cd $$PWD; /bin/sh ../share/genbuild.sh $$OUT_PWD/build/build.h # genbuild.target = $$OUT_PWD/build/build.h # PRE_TARGETDEPS += $$OUT_PWD/build/build.h @@ -195,7 +126,8 @@ QMAKE_CLEAN += $$PWD/../src/leveldb/libleveldb.a; cd $$PWD/../src/leveldb ; $(MA # DEFINES += HAVE_BUILD_INFO #} -QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector +#QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector +QMAKE_CXXFLAGS_WARN_ON = -Wno-unused-parameter # Input DEPENDPATH += ../src ../src/json ../src/qt @@ -381,25 +313,20 @@ FORMS += ../src/qt/forms/sendcoinsdialog.ui \ ../src/qt/forms/showi2paddresses.ui contains(USE_QRCODE, 1) { -HEADERS += ../src/qt/qrcodedialog.h -SOURCES += ../src/qt/qrcodedialog.cpp -FORMS += ../src/qt/forms/qrcodedialog.ui + HEADERS += ../src/qt/qrcodedialog.h + SOURCES += ../src/qt/qrcodedialog.cpp + FORMS += ../src/qt/forms/qrcodedialog.ui } contains(BITCOIN_QT_TEST, 1) { -SOURCES += ../src/qt/test/test_main.cpp \ - ../src/qt/test/uritests.cpp -HEADERS += ../src/qt/test/uritests.h -DEPENDPATH += ../src/qt/test -QT += testlib -TARGET = anoncoin-qt_test -DEFINES += BITCOIN_QT_TEST - macx: CONFIG -= app_bundle -} - -greaterThan(QT_MAJOR_VERSION, 4): { -} else { - CODECFORTR = UTF-8 + SOURCES += ../src/qt/test/test_main.cpp \ + ../src/qt/test/uritests.cpp + HEADERS += ../src/qt/test/uritests.h + DEPENDPATH += ../src/qt/test + QT += testlib + TARGET = anoncoin-qt_test + DEFINES += BITCOIN_QT_TEST + macx: CONFIG -= app_bundle } # for lrelease/lupdate @@ -429,51 +356,12 @@ OTHER_FILES += README.md \ ../src/qt/test/*.cpp \ ../src/qt/test/*.h -# platform specific defaults, if not overridden on command line - -isEmpty(BOOST_THREAD_LIB_SUFFIX) { - BOOST_THREAD_LIB_SUFFIX = $$BOOST_LIB_SUFFIX -} - -isEmpty(BDB_LIB_SUFFIX) { - android:BDB_LIB_SUFFIX = -6.0 -} - -!win32:!macx { - android { - #LIBS += $$BDB_PATH/libdb.a $$BDB_PATH/libdb_cxx.a - LIBS += -L$$BDB_PATH - } - # _FILE_OFFSET_BITS=64 lets 32-bit fopen transparently support large files. - DEFINES += _FILE_OFFSET_BITS=64 -} - -# Set libraries and includes at end, to use platform-defined defaults if not overridden -INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH -LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) -LIBS += -lssl -lcrypto -LIBS += -lz -!win32:LIBS += -ldl - -android { - CXXFLAGS += -O0 -g -# LIBS += $$NDK_PATH/sources/cxx-stl/stlport/libs/armeabi-v7a/libstlport_static.a - LIBS +=$$BDB_PATH/libdb_cxx.a $$BDB_PATH/libdb.a -} - system($$QMAKE_LRELEASE -silent $$TRANSLATIONS) -android { - DISTFILES += \ - AndroidManifest.xml \ - res/values/libs.xml -} - DISTFILES += \ ../../../S2_ATHOME/git_gostcoin/gostcoin/android/AndroidManifest.xml \ ../../../S2_ATHOME/git_gostcoin/gostcoin/android/res/values/libs.xml \ ../../../S2_ATHOME/git_gostcoin/gostcoin/android/build.gradle \ - ../docs/gost_android_take3.txt - - - + ../docs/gost_android_take3.txt \ + AndroidManifest.xml \ + res/values/libs.xml diff --git a/android/res/drawable-hdpi/icon.png b/android/res/drawable-hdpi/icon.png new file mode 100644 index 0000000..d29baf6 Binary files /dev/null and b/android/res/drawable-hdpi/icon.png differ diff --git a/android/res/drawable-ldpi/icon.png b/android/res/drawable-ldpi/icon.png new file mode 100644 index 0000000..b6ef9ec Binary files /dev/null and b/android/res/drawable-ldpi/icon.png differ diff --git a/android/res/drawable-mdpi/icon.png b/android/res/drawable-mdpi/icon.png new file mode 100644 index 0000000..c515534 Binary files /dev/null and b/android/res/drawable-mdpi/icon.png differ diff --git a/docs/gost_android_take3.txt b/docs/gost_android_take3.txt index 79e9469..3043446 100644 --- a/docs/gost_android_take3.txt +++ b/docs/gost_android_take3.txt @@ -1,17 +1,20 @@ ARMV7 -export NDK_PATH=/home/user/SDKS/ANDROID/NDK/android-ndk-r13b -export ANDROID_DEV=$NDK_PATH/platforms/android-9/arch-arm/usr +export NDK_PATH=/path/to/android-ndk +export ANDROID_DEV=$NDK_PATH/platforms/android-14/arch-arm/usr export AR=$NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ar export AS=$NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-as export CC=$NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc -export CFLAGS=--sysroot=$NDK_PATH/platforms/android-9/arch-arm/ +export CFLAGS=--sysroot=$NDK_PATH/platforms/android-14/arch-arm/ export CPP=$NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-cpp -export CPPFLAGS=--sysroot=$NDK_PATH/platforms/android-9/arch-arm/ +export CPPFLAGS=--sysroot=$NDK_PATH/platforms/android-14/arch-arm/ export CXX=$NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -export CXXFLAGS="--sysroot=$NDK_PATH/platforms/android-9/arch-arm/ -I$NDK_PATH/sources/cxx-stl/gnu-libstdc++/4.9/include -I$NDK_PATH/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include" +export CXXFLAGS="--sysroot=$NDK_PATH/platforms/android-14/arch-arm/ -I$NDK_PATH/sources/cxx-stl/gnu-libstdc++/4.9/include -I$NDK_PATH/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include" export LD=$NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ld export NDK_PROJECT_PATH=$NDK_PATH +export ANDROID_NDK_ROOT=$NDK_PATH +export ANDROID_NDK_TOOLCHAIN_VERSION=4.9 +export ANDROID_NDK_HOST=linux-x86_64 export RANLIB=$NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ranlib export PATH=$NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/:$PATH @@ -53,7 +56,7 @@ option.set keep-going : false ; Вернитесь в командную строку и введите: -./b2 --layout=versioned --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=$NDK_PATH/sources/cxx-stl/gnu-libstdc++/4.9/include include=$NDK_PATH/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/include include=$NDK_PATH/platforms/android-9/arch-arm/usr/include +./b2 --layout=versioned --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=$NDK_PATH/sources/cxx-stl/gnu-libstdc++/4.9/include include=$NDK_PATH/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/include include=$NDK_PATH/platforms/android-14/arch-arm/usr/include После выполнения этой команды в папке /path/to/libraries/take3/boost_1_57_0/stage/lib должны появиться следующие файлы: libboost_atomic-gcc-mt-s-1_57.a @@ -88,15 +91,15 @@ https://github.com/GOSTSec/android-ifaddrs-from-android-source 1. Добавить путь C:\Android\android-ndk-r10d\toolchains\x86-4.9\prebuilt\linux-x86_64\bin в переменную PATH 2. Изменить системные переменные так: -ANDROID_DEV /c/Android/android-ndk-r10d/platforms/android-9/arch-x86/usr +ANDROID_DEV /c/Android/android-ndk-r10d/platforms/android-14/arch-x86/usr AR /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-ar AS /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-as CC /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-gcc -CFLAGS --sysroot=/c/Android/android-ndk-r10d/platforms/android-9/arch-x86/ +CFLAGS --sysroot=/c/Android/android-ndk-r10d/platforms/android-14/arch-x86/ CPP /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-cpp -CPPFLAGS --sysroot=/c/Android/android-ndk-r10d/platforms/android-9/arch-x86/ +CPPFLAGS --sysroot=/c/Android/android-ndk-r10d/platforms/android-14/arch-x86/ CXX /c/Android/android-ndk-r10d/toolchains/x86-4.9/prebuilt/linux-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 +CXXFLAGS --sysroot=/c/Android/android-ndk-r10d/platforms/android-14/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/linux-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/linux-x86_64/bin/i686-linux-android-ranlib @@ -117,11 +120,11 @@ 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 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-14\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 +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-14\arch-arm\usr\include 6. В QtCreator выбирать Android для X86 вместо Android для armeabi-v7a