Cygwin环境下使用Android NDK r9c编译boost 1.55

本文介绍了如何在Cygwin环境下,利用Android NDK r9c编译boost 1.55。首先从boost官网下载并解压到NDK/sources目录,然后在Cygwin Terminal运行bootstrap.sh生成编译工具b2。接着修改user-config.jam文件,并解决由于gnu++11导致的auto_ptr问题。在boost目录下创建Android.mk,添加所需的库和模块引用。最后,在应用程序的Android.mk和Application.mk中配置相应的编译选项以使用编译好的boost库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础阅读:

Windows环境下Android NDK环境搭建


1. boost官网下载boost_1_55_0.tar.gz,解压放在<NDK>/sources下, 解压后的文件名: boost_1_55_0

2. 运行Cygwin Terminal

3. 生成boost编译工具: 在boost目录下运行./bootstrap.sh 或者 bootstrap.bat 生成 b2


4. 修改 <boost>/tools/build/v2/user-config.jam 内容修改如下


import os ;
 
if [ os.name ] = CYGWIN || [ os.name ] = NT {
androidPlatform = windows ;
}
else if [ os.name ] = LINUX {
androidPlatform = linux-x86_64 ;
}
else if [ os.name ] = MACOSX {
androidPlatform = darwin-x86 ;
}
 
modules.poke : NO_BZIP2 : 1 ;
ANDROID_NDK = ../.. ;
using gcc : android4.6 : $(ANDROID_NDK)/toolchains/arm-linux-androideabi-4.6/prebuilt/$(androidPlatform)/bin/arm-linux-androideabi-g++ :
<archiver>$(ANDROID_NDK)/toolchains/arm-linux-androideabi-4.6/prebuilt/$(androidPlatform)/bin/arm-linux-androideabi-ar
<ranlib>$(ANDROID_NDK)/toolchains/arm-linux-androideabi-4.6/prebuilt/$(androidPlatform)/bin/arm-linux-androideabi-ranlib
<compileflags>--sysroot=$(ANDROID_NDK)/platforms/android-9/arch-arm
<compileflags>-I$(ANDROID_NDK)/sources/cxx-stl/gnu-libstdc++/4.6/include
<compileflags>-I$(ANDROID_NDK)/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/include
<compileflags>-DNDEBUG
<compileflags>-D__GLIBC__
<compileflags>-DBOOST_FILESYSTEM_VERSION=3
<compileflags>-lstdc++
<compileflags>-lgnustl_shared
<compileflags>-mthumb
<compileflags>-fno-strict-aliasing
<compileflags>-std=gnu++11
<compileflags>-O2
;
 


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值