前言
NumCpp库是C++版的Numpy,网上大部分资料讲的都是如何在Visual studio中实现NumCpp的安装和调用。本文根据自己的探索和分析,讲述如何实现在Android studio中调用Numcpp等第三方C++库。
环境:
win10
准备工作:
1、安装Git:参考:git - 简易指南 2、下载Boost库。NumCpp库的运行依赖Boost库。在Android studio中,不需要像在VisualStudio中那样配置,直接下载下来后解压放到工程对应目录即可。VisualStudio中使用Boost库,可参考:【C++】boost库安装及配置说明。
下载NumCpp
1、创建新文件夹,打开,然后执行
git init
以创建新的 git 仓库。
2、检出NumCpp仓库:
在文件夹中右键–》Git Bash here,在弹出的窗口输入:
git clone https://github.com/dpilger26/NumCpp
即可开始仓库下载过程。注意:上述命令要用手输,复制粘贴到黑窗口会报错: command not found!!
克隆完成后,回到刚新建的文件夹就会看到克隆下来的NumCpp库。include文件夹就是我们在工程中要用到的NumCpp库。
在工程中配置NumCpp库
1、 以Project方式显示工程,将include文件夹、Boost库复制到工程中\app\src\main目录下。确保include文件夹和Boost库与cpp、java文件夹在同一级目录。
2、配置app中的Cmakelist.txt文件:
Cmakelist.txt是项目的编译文件,Gradle会根据Cmakelist.txt文件中的内容对app进行编译,因此需要在Cmakelist.txt中将Numpp和Boost库的所在路径加入到项目搜索路径中。 在该文件中加入如下语句:
INCLUDE_DIRECTORIES (include文件夹在电脑中的绝对位置)
INCLUDE_DIRECTORIES (boost_1_72_0文件夹在电脑中的绝对位置)
3、调用NumCpp库中对象和函数试下。
将native-lib.cpp文件修改成如下:
nc命名空间即是使用了Numcpp库。
4、运行工程,结果如下所示:
总之,Android Studio中调用第三方C++库的关键在于将库的源码放到工程中main文件夹下,然后在Cmakelist.txt编译文件中将库包含到工程的库搜索目录中。
参考:NumCpp安装文档Android Studio Cmake编写问题,求大神赐教