WebRTC学习(五)海思平台交叉编译WebRTC
前言:有一位大神在博客中说:(2019年9月之前的版本,这之后的版本默认是C++14的(由git log可获取该信息),用海思编译器编译会有问题,release版本的分支号branch-heads/m77,这个版本之前的应该都可以。)如果更高的版本在海思arm-hisiv500-linux 可以编译,还请指导。鉴于这个原因,本文也是用M77版本在海思平台上编译;如果所在的编译环境有网络,那么可以参
前言:有一位大神在博客中说: (2019年9月之前的版本,这之后的版本默认是C++14的(由git log可获取该信息),用海思编译器编译会有问题,release版本的分支号branch-heads/m77,这个版本之前的应该都可以。)如果更高的版本在海思arm-hisiv500-linux 可以编译,还请指导。
鉴于这个原因,本文也是用M77版本在海思平台上编译;
如果所在的编译环境有网络,那么可以参照如上的博客操作,我这边因为编译环境无法访问外网,需要用到docker。将下载好编译环境的镜像(Ubuntu)通过docker来加载镜像。
首先需要使用docker基于一个已有的镜像来新建容器进行操作,这里是基于ubuntu镜像来新建容器。这里会创建一个ubuntu操作系统的主机容器,类似于一个虚拟机来使用。
docker load -i ubuntu.tar (ubuntu.tar是具备编译webrtc的环境的镜像)
常用docker命令:
sudo docker images ##查看当前本地可用镜像
sudo docker ps ##查看正在运行的容器id
sudo docker ps -a ##查看创建的所有的容器id,包括正在运行,和停止的
docker container ls -a ##可以列举出所有的容器,包括正在运行的和没有运行的容器
接下来,创建容器:
# -i 交互式 -t 分配一个伪终端 -d 运行容器到后台
$ docker container run -itd - <container> <image>
映射自己的webrtc目录和编译工具的目录到docker:
docker container run -itd --name myname -v local_sourcepath:docker_path -v local_tooltain_path:docker_tooltain_path ubuntu16.04:arm
进入容器的伪终端 :
$ docker exec -it <container-name> /bin/bash
设置好环境变量后,执行编译命令:
#/!bin/bash
gn gen out/arm_hisi --args='target_os="linux" target_cpu="arm" arm_arch="armv7-a"
arm_tune="cortex-a7" arm_version=7
arm_optionally_use_neon=true arm_fpu="neon-vfpv4"
is_clang=false
is_debug=false
is_nacl_glibc=true
libyuv_use_neon=true
rtc_build_with_neon=true
rtc_include_internal_audio_device=false
rtc_include_pulse_audio=false
rtc_libvpx_build_vp9=false
rtc_use_gtk=false
strip_debug_info=true
treat_warnings_as_errors=false
use_aura=false use_dbus=false
use_gold=true use_goma=false
use_lld=false use_ozone=false
use_udev=false
rtc_build_examples=false
rtc_build_tools=false
rtc_include_tests=false
use_glib=false
rtc_use_x11 = false
arm_float_abi="softfp"
rtc_use_pipewire=false
use_custom_libcxx=false
rtc_use_h264=true
proprietary_codecs=true
rtc_enable_protobuf=false
use_rtti=true
rtc_build_json=true
ffmpeg_branding="Chrome"
use_openh264=true use_custom_libcxx_for_host=false'
ninja -C out/arm_hisi
这里面的其他操作都一样
更多推荐
所有评论(0)