下载https://github.com/moritz-wundke/Boost-for-Android

解压后进入目录

运行 ./build-android.sh $(NDK_ROOT)

NDK_ROOT就是ndk-build所在的那个目录

然后会自动下载源码进行编译,NDK r19以上会自动选择c++_shared runtime library,会下载1.70版,然后生成多个ABI的库

若要选择其它的运行时库等等,需要修改build-android.sh???具体不会

生成后在Android studio里使用,如下配置cmake

##########添加boost库 begin#########
#因为不存在findboost.cmake所以手动配置
#之后就可使用后就可用${Boost_INCLUDE_DIR}和${Boost_LIBRARIES}了
#set(Boost_ADDITIONAL_VERSIONS "1.70")
set(BOOST_ROOT /home/hk/Android/boost/${ANDROID_ABI})
set(Boost_INCLUDE_DIR ${BOOST_ROOT}/include/boost-1_70)
set(Boost_LIBRARY_DIR ${BOOST_ROOT}/lib)
#用通配符同时添加多个lib库文件依赖
file(GLOB Boost_LIBRARIES "${Boost_LIBRARY_DIR}/libboost*.a") include_directories(${Boost_INCLUDE_DIR})
##########添加boost库 end######################################

这样链接

#链接库
target_link_libraries(
native-lib
${Boost_LIBRARIES}

测试代码为

//测试boost
extern "C" JNIEXPORT jstring JNICALL
Java_com_example_myvio_MainActivity_stringFromJNI(
JNIEnv *env,
jobject /* this */) {
std::string hello = "Hello MyVIO"; //boost::dynamic_bitset<> db4(std::string("0100"));
//db4.flip();//
/*for(int i=0;i<4;i++)
if(db4[i]==1)
hello=hello+"1";
else
hello=hello+"0";*/ boost::dynamic_bitset<> db4(, BOOST_BINARY());
db4[] &= ;
db4[] ^= ;
//注意右边是低位
for(int i=;i<;i++)
if(db4[i]==)
hello=hello+"";
else
hello=hello+""; return env->NewStringUTF(hello.c_str());
}

Ubuntu下编译boost for Android的更多相关文章

  1. Ubuntu下编译Chromium for Android

    转自:http://blog.csdn.net/fsz521/article/details/18036835 下源码git clone https://chromium.googlesource.c ...

  2. windows下编译boost for android

    env: windows xp 32 bit mingw official  NDK 1. 下载源代码    地址是 :http://sourceforge.net/projects/boost/fi ...

  3. 在Ubuntu下编译Assimp库

    在Ubuntu下编译Assimp库 怎样在Ubuntu下编译Assimp库?这是我曾经编译成功后做的笔记,供參考. 1.去以下的站点去下载Assimp库: http://assimp.sourcefo ...

  4. Ubuntu下编译Bilibili/ijkplayer

    在做Android客户端视频播放器的过程中熟悉ijkplayer.他在视频支持协议上要比Android原生的mediaplayer做的要好.因此,自己也基于Bilibili/ijkplayer的重新编 ...

  5. 开源播放器 ijkplayer (五) :Linux/Ubuntu 下编译ijkplayer

    一.安装Git与yasm sudo apt-get install git sudo apt-get install yasm 二.下载和配置 SDK.NDK SDK一般开发时肯定都有的,NDK一般是 ...

  6. 在Ubuntu下编译安装GreatSQL

    在Ubuntu下编译安装GreatSQL 本次介绍如何利用Docker构建Ubuntu环境,并将GreatSQL源码编译成二进制文件. 1.准备工作 先创建本次Docker的workdir为 /dat ...

  7. ubuntu 下安装boost库

    ubuntu下安装boost库,,在网上试了一些其他人推荐的libboost-dev 但是会缺少,编译程序会报错: /usr/bin/ld: cannot find -lboost_serializa ...

  8. ubuntu下编译caffe

    Ubuntu下编译caffe 纯粹是个人编译的记录.不用CUDA(笔记本是amd卡,万恶的nvidia):不手动编译依赖包(apt-get是用来干啥的?用来直接装二进制包,以及自动解决依赖项的) ca ...

  9. ubuntu下编译VLC

    ubuntu下编译VLC 标签(空格分隔): ubuntu vlc 视频 编译 [TOC] 1.下载VLC源码包并解压 VLC的源码包在VLC的官网有,可以直接下载.也可以使用git来clone一个. ...

随机推荐

  1. 安装nodejs 后运行 npm 命令无响应

    安装和卸载过nodejs, 也编辑过 C:\Users\{账户}\下的.npmrc文件. 再全新安装nodejs ,运行npm 命令,无响应. 处理方法,删除C:\Users\{账户}\下的.npmr ...

  2. Eclipse中给SVN添加项目

    SVN添加项目, 1.在svn资源库中的目标路径上右键,新建一个远程文件夹,文件夹名称和项目名称一致即可. 2,在新建的远程目录上右键,选导入,导入我们要放到svn的本地项目. 3.导入时选中项目的名 ...

  3. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-4.在线教育后台数据库设计

    笔记 4.在线教育后台数据库设计     简介:讲解后端数据库设计    ,字段冗余的好处,及常见注意事项 1.数据库设计:          er图:          实体对象:矩形        ...

  4. VLAN和VXLAN的区别

    VLAN ·概况 VLAN (Virtual Local Area Network)意为虚拟局域网,是在交换机实现过程中涉及到的概念,由802.1Q标准所定义.由于交换机是工作在链路层的网络设备,连接 ...

  5. eclipse JavaEE spring,spring mvc,mybits-SSM老年人搭建记录

    老求了,好多东西记不住了,再不记以后怕是记不住了. eclipse JAVAEE for web Version: Mars.2 Release (4.5.2) tomcat 7.0.29 sprin ...

  6. 【Zookeeper】利用zookeeper搭建Hdoop HA高可用

    HA概述 所谓HA(high available),即高可用(7*24小时不中断服务). 实现高可用最关键的策略是消除单点故障.HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA. ...

  7. linux无密钥登陆

    1.在用户目录下执行命令 ssh-keygen -t rsa 一路回车: 2.在当前用户目录下,进入.ssh文件夹(.ssh文件夹为隐藏文件夹,直接进去即可). 在.ssh文件夹下执行命令: cat ...

  8. iscsi-文件类型

    iSCSI简介(Internet SCSI): iSCSI 小型计算机系统接口,IBM公司研发,用于在IP网络上运行SCSI协议:解决了 SCSI需要直连存储设备的局限性:可以不停机扩展存储容量,iS ...

  9. 【Python】【基础知识】【内置常量】

    Python的内置常量有: False.True.None.NotImplemented.Ellipsis.__debug__ 由 site 模块添加的常量:quit.exit.copyright.c ...

  10. 简单实现JDBC自动加载驱动,简化数据连接和关闭数据库连接

    package util; import java.io.File;import java.io.FileInputStream;import java.io.IOException;import j ...