文档章节

编译 Boost for android的库方法

元谷
 元谷
发布于 2016/01/28 17:24
字数 220
阅读 764
收藏 6

What we need:
Boost (http://switch.dl.sourceforge.net/project/boost/boost/1.56.0/boost_1_56_0.7z)
A compiler (Visual C++ 2010)
Android NDK (http://dl.google.com/android/ndk/android-ndk32-r10b-windows-x86.zip)

Download and extract Boost (ex: D:\boost; you can extract only boost, libs, tools subdirs and the files in the main dir).



Download and unzip Android NDK (ex: D:\android-ndk-r10b).




Go to  Boost_dir\tools\build\src and create a new file, 

 user-config.jam


Open that file with a text editor and add:

 import os ;  
 androidNDKRoot = D:/android-ndk-r10 ;
  using gcc : android :  
    $(androidNDKRoot)/toolchains/arm-linux-androideabi-4.8/prebuilt/windows/bin/arm-linux-androideabi-g++ :  
    <compileflags>--sysroot=$(androidNDKRoot)/platforms/android-9/arch-arm  
    <compileflags>-mthumb  
    <compileflags>-Os  
    <compileflags>-fno-strict-aliasing  
    <compileflags>-O2  
    <compileflags>-DNDEBUG  
    <compileflags>-g  
    <compileflags>-lstdc++  
    <compileflags>-I$(androidNDKRoot)/sources/cxx-stl/gnu-libstdc++/4.8/include  
    <compileflags>-I$(androidNDKRoot)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include  
    <compileflags>-D__GLIBC__   
    <compileflags>-D__arm__  
    <archiver>$(androidNDKRoot)/toolchains/arm-linux-androideabi-4.8/prebuilt/windows/bin/arm-linux-androideabi-ar  
    <ranlib>$(androidNDKRoot)/toolchains/arm-linux-androideabi-4.8/prebuilt/windows/bin/arm-linux-androideabi-ranlib  
      ;


Save and close that file.

Open Visual Studio Command Prompt.

Go to boost dir (cd  D:\boost).

Execute: 

 bootstrap




Execute:

 b2 ^  
 --without-python ^  
 --prefix=.\out\ ^
 --build-dir=.\build ^  
 variant=release ^  
 link=static runtime-link=static ^  
 toolset=gcc-android target-os=linux ^  
 threading=multi --stagedir=android stage


If everything went well, you will have the libs in "android" folder.

本文转载自:http://munteanumarian.blogspot.hk/2014/10/build-boost-for-android.html

元谷

元谷

粉丝 22
博文 116
码字总数 33214
作品 1
深圳
高级程序员
私信 提问
加载中

评论(1)

元谷
元谷
v这个方法已经编译不了1.64以后版本,请参考这里https://github.com/PROGrand/boost-mobile/blob/master/README-android.md
哪位大神移植过boost库

我现在有boost库的头文件,已经编译好的.a静态库,现在我要移植到Android上,工程在win下没有问题可以跑起来,但是移植Android的时候老是出错,都是boost库的问题,问题如下。 jni/../../co...

小塔_皂荚花
2014/12/16
407
0
如何移植boost库到Android

我移植boost库到Android平台,自己有生成好了.a文件,现在通过ndk交叉编译到Android平台,是cocos项目中用到的,Android.mk文件是这样写的, 现在报的错误是: E:\AnimalGame\AnimalGame\pro...

小塔_皂荚花
2014/12/19
1K
0
【学习笔记】linux与windows中wchar_t的问题

遇到的问题: 做Unity for Android项目时遇到了两个问题,一是用boost序列时,windows下序列化的二进制文件在Android上无法读取,序列化为文本文件则没有问题。二是在C++与C#进行数据传递时w...

shzwork
05/11
0
0
cocos2d-x android 移植 问题

由于android系统目前没有将boost加入,这里面使用了大量的STL及C++的一些语言特性,导致编译出现令人非常头痛的问题。 1、出现类似的异常函数错误 boost/exception/detail/exceptionptr.hpp:...

予木
2013/06/25
0
1
【最新最全】为 iOS 和 Android 的真机和模拟器编译 Luajit 库

编译 Luajit 库,的确是一个挑战。因为官网的教程,在当前版本的 Xcode 和 NDK 环境中,已经不适用了。以前只是编译了适用于真机的 Luajit 库。最近在尝试编译模拟器 Luajit 库,就顺便梳理了...

ios122
2018/07/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

texlive安装

Installing to: D:/bin/texlive/texlive/2019Installing [001/307, time/total: ??:??/??:??]: adobemapping [2130k]Installing [002/307, time/total: 00:03/08:57]: ae [84k]Installing......

MtrS
27分钟前
2
0
运维规范

命名规范 发布流程 监控告警 故障定位 状态 日志 监控

以谁为师
今天
2
0
约瑟夫环(报数游戏)java实现

开端 公司组织考试,一拿到考题,就是算法里说的约瑟夫环,仔细想想 以前老师将的都忘了,还是自己琢磨把~ package basic.gzy;import java.util.Iterator;import java.util.LinkedList;...

无极之岚
今天
3
0
Kernel字符设备驱动框架

Linux设备分为三大类:字符设备,块设备和网络设备,这三种设备基于不同的设备框架。相较于块设备和网络设备,字符设备在kernel中是最简单的,也是唯一没有基于设备基础框架(device结构)的...

yepanl
今天
3
0
Jenkins 中文本地化的重大进展

本文首发于:Jenkins 中文社区 我从2017年开始,参与 Jenkins 社区贡献。作为一名新成员,翻译可能是帮助社区项目最简单的方法。 本地化的优化通常是较小的改动,你无需了解项目完整的上下文...

Jenkins中文社区
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部