You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+9-14
Original file line number
Diff line number
Diff line change
@@ -4,12 +4,10 @@ Build and/or simply download the Boost C++ Libraries for the Android platform, w
4
4
The [Boost C++ Libraries](http://www.boost.org/), are possibly *the* most popular and generally useful c++ libraries. It would be nice to be able to use them when developing (native c++ or hybrid java/c++ with Google's [Ndk](https://developer.android.com/ndk/)) apps and/or libraries for Android devices.
5
5
The Boost libraries are written to be cross platform, and are available in source code format. However, building the libraries for a given target platform like Android can be very difficult and time consuming. (In particular, building **arm64_v8a** shared libraries that an application can actually load). This project aims to lower the barrier by offering a simple customizable build script you can use to build Boost for Android (abstracting away all the details of the underlying custom boost build system, and target architecture differences), and even providing standard prebuilt binaries to get you started fast.
6
6
7
-
Tested with **Boost 1.79.0** and **Google's Ndk 25** (LTS).
7
+
Tested with **Boost 1.83.0** and **Google's Ndk 26c** (LTS).
8
8
9
-
You can build directly on a Linux or MacOS machine, or indirectly on any of Linux, Windows, MacOS via [docker](https://www.docker.com) (or of course virtual machines). _No matter what OS you use to build with, the resulting binaries can then be copied to any other, and used from then on as if you had built them there to start with (theyre cross compiled *for* android and have no memory of *where* they were built_).
9
+
You can build directly on a Linux or MacOS machine, or indirectly on any of Linux, Windows, MacOS via [docker](https://www.docker.com) (or of course virtual machines and wsl). _No matter what OS you use to build with, the resulting binaries can then be copied to any other, and used from then on as if you had built them there to start with (theyre cross compiled *for* android and have no memory of *where* they were built_).
10
10
11
-
Works with **clang** (llvm)
12
-
*- as of ndk 16 google no longer supports gcc*.
13
11
14
12
Creates binaries for multiple abis (**armeabi-v7a**, **arm64-v8a**, **x86**, **x86_64**).
15
13
@@ -32,15 +30,12 @@ See [docker_readme](./docker/docker_readme.md) for instructions.
32
30
33
31
* For prerequisites see [Dockerflile](./docker/droid_base#L18) (even though the remaining instructions below don't use docker)
34
32
* Download the [boost source](https://www.boost.org) and extract to a directory of the form *..../major.minor.patch*
@@ -79,7 +74,7 @@ want to use these. To see which of the libraries do require building you can swi
79
74
> ./bootstrap.sh --show-libraries
80
75
```
81
76
82
-
which for example with boost 1.79 produces the output:
77
+
which for example with boost 1.83.0 produces the output:
83
78
84
79
```
85
80
The following Boost libraries have portions that require a separate build
@@ -118,14 +113,14 @@ The Boost libraries requiring separate building and installation are:
118
113
- thread
119
114
- timer
120
115
- type_erasure
116
+
- url
121
117
- wave
122
118
123
-
124
119
```
125
120
## Crystax
126
-
[Crystax](https://www.crystax.net/) is an excellent alternative to Google's Ndk. It ships with prebuilt boost binaries, and dedicated build scripts.
121
+
[Crystax](https://www.crystax.net/) is an alternative to Google's Ndk. It ships with prebuilt boost binaries, and dedicated build scripts.
127
122
These binaries will however not work with Goolge's Ndk. If for some reason you can't or don't want to use Crystax then you can't use their boost binaries or build scripts, which is why this project exists.
128
123
129
124
## Contributions
130
125
- Many thanks to [crystax](https://github.com/crystax/android-platform-ndk/tree/master/build/tools) for their version of *build-boost.sh* which I adapted to make it work with the google ndk.
131
-
- Thanks to [google](https://android.googlesource.com/platform/ndk/+/master/build/tools) for the files *dev-defaults.sh, ndk-common.sh, prebuilt-common.sh*.
0 commit comments