海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现

系列文章目录

海思3518ev200学习记录(1)- 根据用户手册烧录系统镜像
海思3518ev200学习记录(2) - 交叉编译官方webRTC
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现
海思3518ev200学习记录(4) - 基于海思源码分段录制音频文件


海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现

  • 系列文章目录
  • 前言
  • 准备
  • 开始
    • 开始编译
    • 下载vscode
  • 结束

前言

相信上一篇给不了你想要的答案,本期内容应该能给你想要的。因为上一期的东西我也没有弄明白,最起码本期东西我能跑通了

准备

废话就不说了,本期采用的不是老谷官方的 而是Amazon Kinesis Video Streams C WebRTC SDK ,反正有前辈踩过坑,总比我们自己再踩一遍强,虽然还是会遇到很多坑。
先拉代码吧

git clone --recursive https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c.git

海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第1张图片
更改srtp的CMakeLists,不生成测试文件(虽然前辈说编译器可能会不认,所以也就别再踩坑了)
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第2张图片

开始

代码也拉取了,坑也避开了,那么准备检查一下环境吧,这里指明一点,我的开发版是ev200,但是我拿到的环境是v300的经过测试,貌似没啥问题。
arm-hisiv300-linux-gcc -v
arm-hisiv300-linux-g++ -v

海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第3张图片

开始编译

export CC=arm-hisiv300-linux-gcc CXX=arm-hisiv300-linux-g++
mkdir build && cd build
cmake .. -DBUILD_SAMPLE=FALSE -DBUILD_STATIC_LIBS=TRUE -DBUILD_OPENSSL=TRUE -DBUILD_OPENSSL_PLATFORM=linux-generic32 -DBUILD_LIBSRTP_HOST_PLATFORM=x86_64-unknown-linux-gnu -DBUILD_LIBSRTP_DESTINATION_PLATFORM=arm-unknown-linux-uclibcgnueabi

海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第4张图片
恩,此处编译需要科学上网,不然会出现各种问题,文件有点大,可能需要一点时间。
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第5张图片

海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第6张图片
如果你网速快的话大概十几分钟即可,要是网速不行,那就不晓得要等到什么时候了
make 编译
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第7张图片

make DESTDIR=/hmoe/swann/code/install install

海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第8张图片

下载vscode

自行下载安装
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第9张图片
在你需要存储的目录下新建文件夹并用vscode 打开该文件夹,并安装C++插件
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第10张图片
然后把上面生成的文件拷贝带项目目录
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第11张图片
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第12张图片
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第13张图片
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第14张图片
好了现在我们再看一下文件夹

海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第15张图片
根据前辈的方法还有文件需要下载,请微❤搜一搜 dasha500回复 webrtc获取源码;最终源码结构
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第16张图片
对源码进行编译make,可以看到编译报错了,我们需要对Makefile进行修改,方框圈起来的地方加到Makefile 看清楚说的是or 就是两种方案都行。
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第17张图片
有声明变量的地方,直接赋值即可
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第18张图片
再次编译,再次报错,搜索jsoncpp.cc 文件中#define snprintf std::snprintf 注释掉 //#define snprintf std::snprintf
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现_第19张图片
分别注释掉 210,3644,
在这里插入图片描述
在这里插入图片描述
再次编译成功,放到开发板上运行吧
在这里插入图片描述

结束

参考:需要请移步,感谢大神,虽然中间踩了很多坑,但是最起码实现了我想要的效果。

你可能感兴趣的:(WebRTC-P2P,c++,嵌入式,webrtc)