GitLab+xmake跨平台快速编译测试

目录

文章目录

前言

一、需要哪些工具?

二、Git配置步骤

1.Git

2.本地 ssh 配置

3.本地 ssh 配置

4.git 代码下载

三、代码调试

1.代码编辑

2.xmake 调试

3.安卓调试

4.安卓设备调试

注意事项

1.安卓宏定义

2.调试宏定义


前言

本文记录C++算法开发移植到安卓平台的工具和过程


一、需要哪些工具?

算法代码一般是 C++,并可能包含 OpenCV 以及 Eigen 等库文件,因此在部署到安卓端时有一些注意事项。本文档结合 gitLab 及 xmake 跨平台编译进行说明。

二、Git配置步骤

1.Git

访问 gitLab并获得项目访问权限。

2.本地 ssh 配置

在本机配置 ssh 密钥,将id_rsa.pub 内容粘贴到 gitLab

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。

3.本地 git 配置

配置 Git Gui 或使用命令行访问 gitLab 项目。

4.git 代码下载

设置服务器地址,选择代码分支并 pull 到本地目录。

三、代码调试

1.代码编辑

使用 Visual Studio 或 VScode 编辑代码,确定可运行。

2.xmake 调试

xmake 是跨平台的工程编译软件,如下图可在VScode 安装插件,方便调试。

 

xmake 的配置可参考

安装xmake [install](https://xmake.io/#/guide/installation?id=windows)

3.安卓调试

安卓调试需下载 NDK 并配置环境变量,可通过 xmake 配置为全局变量,省去每次编译指定NDK安装目录

xmake config -p android -a armeabi-v7a --ndk=NDK安装目录 --build_test=yes

若程序名称有改动和新增, 需修改test_Calibration下的xmake.lua文件,加入 

add_files('src/Calibration.cpp', 'src/Util_AutoReg.cpp')

新增库文件需加入

add_includedirs('include', 'src', 'src/eigen-3.3.9/', 'src/eigen-3.3.9/Eigen', {public=true})

4.安卓设备调试

想要不依赖java代码apk测试android的接口,目前的做法是将算法so库,模型文件和测试程序push到/data/local/tmp/目录运行

xmake脚本会在每次编译时上传程序和依赖库(如果已连接android设备的话)

可连接安卓开发板,或者直接连接安卓手机,安卓手机需打开'开发者模式',数据线连接电脑,选择文件传输模式,确认弹出 USB 调试窗口并授权,方可进行 adb 相关操作,也可使用安卓虚拟机或内网 IP 访问安卓设备。


 

注意事项

1.安卓宏定义

__ANDROID__ 是一个预定义的宏,在Android平台下会被自动定义,在非Android平台下则不会被定义。因此,通过检查该宏是否被定义,可以判断当前是否在Android平台下进行编译。

其中 cmake的android插件定义的名称为__ANDROID__,xmake 中自行定义也统一为该宏名称。使用示例:

#ifndef  __ANDROID__ //判断是安卓则跳过,需安卓端编译时加入逻辑判断
#include <windows.h>
#endif

2.调试宏定义

计时模块,画图模块,图片显示模块,均为调试宏定义下执行,在 git 提交代码前修改值为 0,或判断在线版本则定义为 0。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值