下载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());
}

最新文章

  1. gitlab工作流程简介
  2. ASP.NET ashx实现无刷新页面生成验证码
  3. 使用spring.net 1.3.2框架部署在虚拟目录上发生错误
  4. JS判断是否为安卓orIOS
  5. wifi详解(二)
  6. css 盒模型相关样式
  7. 包含为 HTTP 定义的状态代码的值(枚举)
  8. C语言头文件组织
  9. 将stack翻译成&quot;堆栈&quot;实在是误人子弟
  10. NSData与UIImage互相转换
  11. 计蒜客 无脑博士 bfs
  12. AJAX跨域问题解决思路
  13. CentOS_7下安装PHP7.3
  14. jmeter5.1在windows(含插件安装)及linux环境下安装
  15. TF-IDF原理与实现
  16. idea常用插件介绍
  17. Docker容器学习与分享07
  18. 【刷题】BZOJ 1487 [HNOI2009]无归岛
  19. PHP ECSHOP中 诡异的问题:expects parameter 1 to be double
  20. 55. Jump Game(贪心)

热门文章

  1. JVM源码分析之JDK8下的僵尸(无法回收)类加载器[z]
  2. maven-tomct插件
  3. BUGKU (Mountain climbing)
  4. 远程访问禅道开源版数据库(基于docker)
  5. PJzhang:CVE-2019-14287 sudo权限绕过漏洞复现
  6. Java学习笔记-Java中的常用类
  7. springboot整合es客户端操作elasticsearch(三)
  8. Linux-android 模拟器使用
  9. Linux命令---ln、readlink
  10. JAVA实验报告及第九周总结