Linux 为ARM交叉编译WebRTC

Linux 为ARM交叉编译WebRTC,linux,arm,webrtc,cross-compiling,chromium,Linux,Arm,Webrtc,Cross Compiling,Chromium,我曾尝试交叉编译适用于armv7架构(AllWinner A20)的WebRTC。在www.WebRTC.org上,没有关于如何进行交叉编译的说明,仅适用于Android和IOS。在互联网上,我找到了一些如何进行交叉编译的帖子,如下所示: 所有这些都是大约2年前写的,以命令开头: gclient配置 据我所知,它的旧存储库名称和buildsystem在过去2年中都发生了更改。有人能帮我完整地说明如何为ARM构建WebTRC吗?这不是交叉编译ARM平台WebRTC的最佳解决方案: 安装车辆

我曾尝试交叉编译适用于armv7架构(AllWinner A20)的WebRTC。在www.WebRTC.org上,没有关于如何进行交叉编译的说明,仅适用于Android和IOS。在互联网上,我找到了一些如何进行交叉编译的帖子,如下所示:

所有这些都是大约2年前写的,以命令开头:

gclient配置


据我所知,它的旧存储库名称和buildsystem在过去2年中都发生了更改。有人能帮我完整地说明如何为ARM构建WebTRC吗?

这不是交叉编译ARM平台WebRTC的最佳解决方案:

安装车辆段工具和

mkdir -p web_rtc && cd web_rtc
export GYP_DEFINES="OS=linux"
fetch --nohooks webrtc
gclient sync
cd src
./build/linux/sysroot_scripts/install-sysroot.py --arch=arm
gn gen out/Default --args='target_os="linux" target_cpu="arm"'

## UGLY HACK.
mv webrtc/modules/rtp_rtcp/test/testFec/test_packet_masks_metrics.cc webrtc/modules/rtp_rtcp/test/testFec/test_packet_masks_metrics.cc.bak
touch webrtc/modules/rtp_rtcp/test/testFec/test_packet_masks_metrics.cc

ninja -C out/Default

不是为ARM平台交叉编译WebRTC的最佳解决方案:

安装车辆段工具和

mkdir -p web_rtc && cd web_rtc
export GYP_DEFINES="OS=linux"
fetch --nohooks webrtc
gclient sync
cd src
./build/linux/sysroot_scripts/install-sysroot.py --arch=arm
gn gen out/Default --args='target_os="linux" target_cpu="arm"'

## UGLY HACK.
mv webrtc/modules/rtp_rtcp/test/testFec/test_packet_masks_metrics.cc webrtc/modules/rtp_rtcp/test/testFec/test_packet_masks_metrics.cc.bak
touch webrtc/modules/rtp_rtcp/test/testFec/test_packet_masks_metrics.cc

ninja -C out/Default
使用conda创建python2环境
$conda create-n yourenvname python=2.7

创建文件夹并输入它
$mkdir webrtc
$cd-webrtc

克隆仓库工具
$git克隆https://chromium.googlesource.com/chromium/tools/depot_tools.git --深度1

将其添加到路径
$export PATH=$PATH:/home/ME/webrtc/depot\u tools/

下载源。。。。大量的时间和空间
$fetch--nohooks-webrtc

$cd src
$git clean-f

获取要编译的修订
$git ls remotehttps://chromium.googlesource.com/external/webrtc --主管分支主管/72 80865776CF8A1A811166EE005951B7F5B01决策参考/分支主管/72
$gclient sync--force--version 80865776CF8A1A811166EE005951B7F5B01EACD

$。/install build deps.sh
$gclient runhooks

为X64编译
$gn gen out/x64\u 72--args='is\u debug=true rtc\u include\u tests=false treat\u warnings\u as\u errors=false use\u rtti=true is\u component\u build=false enable\u iterator\u debug=false is\u clang=false use\u sysroot=false linux\u bundled\u binutils=false use\u custom\u libcxx=false use\u custom\u libcxx\u for\u host=false target\u os=“linux”target\u cpu=“x64”“
$cd./out/x64\u 72
$ninja-C-j 8

编译ARM64
$python build/linux/sysroot\u scripts/install-sysroot.py--arch=arm64

$gn gen out/arm64\U 72--args='is\u debug=false enable\u iterator\u debug=false treat\u warnings\u as\u errors=false rtc\u include\u tests=false target\u os=“linux”target\u cpu=“arm64”is\u clang=true'
$cd./out/arm64\u 72
$ninja-C-j 8

好运气使用conda创建python2环境
$conda create-n yourenvname python=2.7

创建文件夹并输入它
$mkdir webrtc
$cd-webrtc

克隆仓库工具
$git克隆https://chromium.googlesource.com/chromium/tools/depot_tools.git --深度1

将其添加到路径
$export PATH=$PATH:/home/ME/webrtc/depot\u tools/

下载源。。。。大量的时间和空间
$fetch--nohooks-webrtc

$cd src
$git clean-f

获取要编译的修订
$git ls remotehttps://chromium.googlesource.com/external/webrtc --主管分支主管/72 80865776CF8A1A811166EE005951B7F5B01决策参考/分支主管/72
$gclient sync--force--version 80865776CF8A1A811166EE005951B7F5B01EACD

$。/install build deps.sh
$gclient runhooks

为X64编译
$gn gen out/x64\u 72--args='is\u debug=true rtc\u include\u tests=false treat\u warnings\u as\u errors=false use\u rtti=true is\u component\u build=false enable\u iterator\u debug=false is\u clang=false use\u sysroot=false linux\u bundled\u binutils=false use\u custom\u libcxx=false use\u custom\u libcxx\u for\u host=false target\u os=“linux”target\u cpu=“x64”“
$cd./out/x64\u 72
$ninja-C-j 8

编译ARM64
$python build/linux/sysroot\u scripts/install-sysroot.py--arch=arm64

$gn gen out/arm64\U 72--args='is\u debug=false enable\u iterator\u debug=false treat\u warnings\u as\u errors=false rtc\u include\u tests=false target\u os=“linux”target\u cpu=“arm64”is\u clang=true'
$cd./out/arm64\u 72
$ninja-C-j 8


好运气当前的构建过程是安装Chromiu depot_工具并使用
fetch
gclient
ninja
实用程序()。要进行交叉编译,我需要创建一个ARM chroot环境,因为这些来自google的工具(如
ninja
)的文档很差,所以我不知道如何为交叉编译正确配置它们。至少在搜索cross之前,您是否尝试过构建一个直的i386/amd64?这可能有些晚了,但希望该教程将对您有很大帮助。访问参考:当前的构建过程是安装Chromiu depot_工具,并使用
fetch
gclient
ninja
实用程序()。要进行交叉编译,我需要创建一个ARM chroot环境,因为这些来自google的工具(如
ninja
)的文档很差,所以我不知道如何为交叉编译正确配置它们。至少在搜索cross之前,您是否尝试过构建一个直的i386/amd64?这可能有些晚了,但希望该教程将对您有很大帮助。访问参考:X11是我现在的问题。。。你能帮我吗?arm-linux-gnueabihf-g++-Wl,--致命警告-fPIC-Wl,-z,noexecstack-Wl,-z,now-Wl,-z,relro-Wl,-z,defs-B..//第三方/binutils/linux-ux64/Release/bin-fuse ld=gold-Wl,--icf=all-pthread-Wl,--O1-Wl,--gc节-Wl,--根据需要-Wl,--rpath链接=../Release-Wl,--Wl,--disable-Wl,--禁用新的dtags-o.“/webrtc测试”--Wl,--启动组”。/webrtc-Wl,--端组-ldl-lrt-lm-lX11-lXext-lXcomposite-lxrder-lXcursor-lXdamage-lXfixes-lXi-lXtst../。/第三方/binutils/Linux\u x64/Release/bin/ld.gold:错误:找不到-lX11I使用了这个:gn gen./out/Release--args='is\u debug=false rtc\u use\u h264=false ffmpeg\u