2016-07-28 45 views
0

Ich habe versucht, WebRTC für Armv7 Architektur (AllWinner A20) zu kompilieren. Auf www.webrtc.org gibt es keine Anweisungen, wie das zu tun, nur für Android und IOS, im Internet I ' habe ein paar Einträge gefunden, wie das zu tun, hier ist es:Kreuz kompilieren WebRTC für ARM

WebRTC building for arm

https://foxdogstudios.com/webrtc-on-linux

https://groups.google.com/forum/#!topic/discuss-webrtc/yzuk8wATMU8

https://github.com/mpromonet/webrtc-streamer/wiki/Cross-compile-WebRTC-for-Raspberry-Pi

Alle von ihnen vor etwa 2 Jahren geschrieben und beginnt mit dem Befehl:

gclient Config http://webrtc.googlecode.com/svn/trunk

Wie ich es alt Repositorynamen verstehen und auch Build für letzte 2 Jahre geändert wird. Kann mir jemand mit einer vollständigen Anleitung helfen, WebTRC für ARM zu erstellen?

+0

Aktuelle Build-Prozedur installieren Chrom depot_tools und mit 'fetch',' gclient' und 'Ninja' Dienstprogramme (https://webrtc.org/native-code/development/). Zum Cross-Compilieren würde ich eine ARM-Chroot-Umgebung erstellen, weil diese Tools von Google (wie 'ninja') schlecht dokumentiert sind, so dass ich keine Ahnung habe, wie man sie für eine Cross-Kompilierung richtig konfiguriert. Haben Sie versucht, einen geraden i386/amd64 zu bauen, bevor Sie nach cross suchen? – Velkan

Antwort

2

Nicht beste Lösung für Cross-kompilieren WebRTC für ARM-Plattform:

Depot-Tools installieren und ...

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 
+0

X11 ist mein Problem jetzt ... könntest du mir helfen? arm-linux-gnueabihf-g ++ -Wl, - fatale Warnungen -fPIC -Wl, -z, noexecstack -Wl, -z, jetzt -Wl, -z, relro -Wl, -z, defs -B. ./../third_party/binutils/Linux_x64/Release/bin -fuse-ld = gold -Wl, - icf = alle -thread -Wl, -O1 -Wl, - gc-sections -Wl, - as- benötigt -Wl, -rpath-link = ../Release-Wl, - disable-new-dtags -o "./webrtc_tests" -Wl, - start-gruppe @ "./ webrtc_tests.rsp" -Wl, - -end-group -ldl -lrt -lm -lX11 -lXext -lXcomposite -lXrender -lXcursor -lXdamage -lXfixes -lXi -lXtst ../../third_party/binutils/Linux_x64/Release/bin/ld.gold: error : -lX11 –

+0

Ich habe das verwendet: gn gen ./out/Release --args = 'is_debug = false rtc_use_h264 = false ffmpeg_branding = "Chrome" rtc_include_tests = falsch is_clang = false target_cpu = "arm" treat_warnings_as_errors = false rtc_enable_protobuf = false use_sysroot = false ' –