RK3568开发环境(ubuntu18.04)下实现go编译


前言

RK3568芯片功能强大,在作为边缘网关进行数据采集时,可以使用influxdb数据库进行数据持久化保存。influxdb没有提供C++语言的客户端访问功能。如果我们是用C++开发的应用程序,就没有办法直接访问influxdb。一个变通办法是,我们可以用go语言编写数据库访问程序,然后将其编译成C++可以调用的库函数,再由C++应用程序调用此库函数,以此完成数据库的访问功能。


一、下载编译器

为了实现上述方案。我们需要先下载go编译器。
下载地址为https://golang.google.cn/dl/
在这里插入图片描述
根据需要,选择对应的编译器文件版本下载。

二、解压安装

将上述文件拷贝到开发环境目录下面后,进行解压,
sudo tar -C /usr/local -xzf go1.20.2.linux-amd64.tar.gz

然后添加如下环境变量,
在环境变量配置文件/etc/profile中添加以下内容:

export PATH=$PATH:/usr/local/src/go/bin
export PATH=/home/forlinx/Tool.ins/go1.20.2.linux-amd64/go/bin:$PATH
export GOPROXY=https://goproxy.cn,direct
export GODEBUG=cgocheck=0
export PATH=/home/forlinx/3568/OK3568-linux-source/buildroot/output/OK3568/host/bin:$PATH

三、编译库函数

用go语言编写好influxdb的访问接口函数后,可以开始编译库函数。
如果要编译在x86下运行的库函数,用下列命令

GOOS=linux \
GOARCH=amd64 \
AR=ar \
CC=gcc \
CXX=g++ \
go build -ldflags="-s -w" -buildmode=c-archive -o InfluxTest/bin/libinfluxDB.a main.go

这样编译完成后,在指定目录下会生成相应的库函数,libinfluxDB.a。

如果要编译在3568下运行的库函数,则用下列命令

GOOS=linux \
GOARCH=arm64 \
CGO_ENABLED=1 \
CC=aarch64-linux-gcc \
CXX=aarch64-linux-g++ \
AR=aarch64-linux-gnu-ar \
go build -ldflags="-s -w" -buildmode=c-archive -o InfluxTest/bin/libinfluxDB.a main.go
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值