2016-06-07 13 views

Antwort

3

Für mich war diese

  1. ich ein Klappern Standalone-Toolchain erstellt https://developer.android.com/ndk/guides/standalone_toolchain.html
  2. ich mein PATH PATH=/your/path/ndk/toolchain/bin
  3. Run ./bootstrap.sh --with-toolset=clang
  4. ./b2 toolset=clang cxxflags="-stdlib=libc++" threading=multi threadapi=pthread link=shared runtime-link=shared -j 6
  5. I verknüpft es Aginst mein Projekt

Ich habe einen Blick auf diesen Seiten

Compile and use boost for Android NDK R10e

http://nolimitsdesigns.com/game-design/how-to-build-boost-for-the-android-ndk-llvm/

3

Build-boost_1_62_0 für Android-21 unter Windows64 genommen.

Angenommen, NDK installiert zu C:\Programs\Android\sdk\ndk-bundle und Boost in c:\boost_1_62_0.

mingw Install:

$ pacman -S gcc binutils 

android.clang.jam Datei in C:\boost_1_62_0\ mit solchen Textinhalt erstellen: using msys2-x86_64 from MSYS2

Tools von mingw prompt (so etwas wie dieses) Installieren Sie bauen

import os ; 
local AndroidNDKRoot = C:/Programs/Android/sdk/ndk-bundle ; 
using clang : android 
: 
C:/Programs/Android/toolchain21/bin/clang++ 
: 
<compileflags>-fexceptions 
<compileflags>-frtti 
<compileflags>-fpic 
<compileflags>-ffunction-sections 
<compileflags>-funwind-tables 
<compileflags>-Wno-psabi 
<compileflags>-march=armv7-a 
<compileflags>-mfloat-abi=softfp 
<compileflags>-mfpu=vfpv3-d16 
<compileflags>-fomit-frame-pointer 
<compileflags>-fno-strict-aliasing 
<compileflags>-finline-limit=64 
<compileflags>-I$(AndroidNDKRoot)/platforms/android-21/arch-arm/usr/include 
<compileflags>-Wa,--noexecstack 
<compileflags>-DANDROID 
<compileflags>-D__ANDROID__ 
<compileflags>-DNDEBUG 
<compileflags>-O2 
#<compileflags>-g 
<compileflags>-I$(AndroidNDKRoot)/sources/cxx-stl/gnu-libstdc++/4.9/include 
<compileflags>-I$(AndroidNDKRoot)/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/include 
<architecture>arm 
<compileflags>-fvisibility=hidden 
<compileflags>-fvisibility-inlines-hidden 
<compileflags>-fdata-sections 
<cxxflags>-D__arm__ 
<cxxflags>-D_REENTRANT 
<cxxflags>-D_GLIBCXX__PTHREADS 
; 

Setup boost von mingw prompt:

$ export NDK=/c/Programs/Android/sdk/ndk-bundle 
$ echo ensure msi-installed Python is on path (not msys version): 
$ export PATH=/c/Python27:$PATH 
$ $NDK/build/tools/make_standalone_toolchain.py --arch arm --api 21 --install-dir /c/Programs/Android/toolchain21 
$ ./bootstrap.sh --with-toolset=gcc 
$ ./b2 --user-config=android.clang.jam threading=multi link=static \ 
runtime-link=static toolset=clang-android target-os=linux \ 
threadapi=pthread --stagedir=android --with-chrono \ 
--with-program_options --with-system --with-thread --with-random \ 
--with-regex 
0

Ja, das von Ihnen erwähnte Repository wird anscheinend nicht mehr gepflegt. Der Autor scheint auch keine Mails zu diesem Thema zu beantworten. Wenn Sie schauen, werden Sie sehen, dass jede neue Boost-Version, die dort unterstützt wird, viel Arbeit erfordert (viele spezielle Flags in den Konfigurationsdateien). Das ist vermutlich der Grund, warum er keine Zeit mehr hat, es aufrechtzuerhalten. Ich habe auch versucht, mit einer Gabelung auf 1,64 zu aktualisieren, habe aber nach unzähligen Fehlermeldungen aufgegeben und stattdessen eine andere Methode verwendet, die auf einem Crystax-Skript basiert. Es ist einfach und sollte für so ziemlich jede Version funktionieren. Sie finden die Details und das Skript (einfach und schmerzlos auszuführen) hier: http://silverglint.com/boost-for-android/ Funktioniert mit clang und gcc.

Ebenfalls enthalten ist eine Beispiel-App, die Ihnen zeigt, wie Sie die Boost-Binaries verwenden.

Verwandte Themen