目的:交叉编译OneNET的SDK到树莓派
/由于onenet视频sdk已经更新,本文仅提供参考,不保证成功/
简述:Raspberry Pi本身的硬件性能不是很高,所以在pi上直接编译源代码,需要消耗很多的时间。因此在选择在性能呢强大的台式机上来配置一个交叉编译平台,再将编译后的bin文件和config.json文件拷贝到树莓派来执行。
过程中,需要下载树莓派的交叉编译链。并将SDK所用到的库先交叉编译,再交叉编译OneNET SDK。
实现方法:
硬件准备:
树莓派 *1
一台Ubuntu虚拟机
如果还没有用过OneNET sdk的同学可以先看看这几篇文章
步骤流程:
一:下载树莓派交叉编译工具
选用的交叉编译工具链,是Raspberry Pi 基金会官方发布的 交叉编译工具包,也就是官方用来编译Raspbian操作系统所用的交叉编译工具链
1、直接使用git clone命令直接获取源代码
然后
cd raspberrypi-crosscompile-tools/arm-bcm2708
可以看到
gcc-linaro-arm-linux-gnueabihf-raspbian-x64文件夹
这个文件夹就是我们所需要的交叉编译工具
二:使用交叉编译工具编译libssl库
1、使用export命令声明编译目录
$ export CROSSCOMP_DIR=/path/to/basefolder/pitools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
2、声明安装目录
3、进入libssl源文件,针对树莓派平台进行交叉编译
$ cd /path/to/folder/opssl
$ user@host:/path/to/folder/openssl $ ./Configure linux-generic32 \
--prefix=$INSTALL_DIR --openssldir=$INSTALL_DIR/openssl \
--cross-compile-prefix=$CROSSCOMP_DIR/arm-linux-gnueabihf-
其中:
- linux-generic32 : 树莓派就是一个32位的linux系统
- –prefix=$INSTALL_DIR : 这个目录是我们之前声明的,openssl的安装目录
- –openssldir=$INSTALL_DIR/openssl : 这个文件夹里面有核心的配置文件
- –cross-compile-prefix=$CROSSCOMP_DIR/arm-linux-gnueabihf- : 这个path是我们之前声明的,交叉编译链的目录。注意最后有个“-”符号不要漏掉
4、运行下面的命令
make depend
make
make install
交叉编译的OpenSSL就完成了。
三:交叉编译OneNET SDK
1、打开openssl安装地址
cd lib
复制里面所有文件。
2、打开交叉编译工具的安装位置
cd /path/to/basefolder/pitools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/lib/gcc/arm-linux-gnueabihf/
将openssl/lib里面的所有文件复制到上面这个目录
3、编译
打开video sdk目录,修改linux-arm.txt文件如下
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90TUaZHcygldwJDTwYVbiVHNHpleO1GTulzRilWO5x0LcRHelR3LcJzLctmch1mclRXY39DOwkjNxkjM3EDMyMDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)