2016-07-28 242 views
0

我試着爲armv7體系結構(AllWinner A20)交叉編譯WebRTC。在www.webrtc.org上沒有說明如何做到這一點,僅適用於Android和IOS,已經找到了幾個帖子如何做到這一點,這裏是:交叉編譯針對ARM的WebRTC

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

所有這些書面大約2年前,並用命令啓動:

gclient配置http://webrtc.googlecode.com/svn/trunk

據我瞭解它的老倉庫的姓名,還構建系統改變了過去的2年。任何人都可以幫助我完成指令如何爲ARM構建WebTRC?

+0

當前構建過程中安裝鉻depot_tools和使用'fetch','gclient'和'ninja'工具(https://webrtc.org/native-code/development/)。爲了交叉編譯,我會創建一個ARM chroot環境,因爲谷歌的這些工具(如'ninja')記錄不完全,所以我不知道如何正確配置它們以進行交叉編譯。至少在搜索交叉之前,你是否試圖構建一個直的i386/amd64? – Velkan

回答

2

不以最佳的解決方案交叉編譯的WebRTC爲ARM平臺:

安裝倉庫機牀和

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現在是我的問題......你能幫我嗎? arm-linux-gnueabihf-g ++ -Wl, - 致命警告-fPIC -Wl,-z,noexecstack -Wl,-z,現在-Wl,-z,relro -Wl,-z,defs -B。 ./../third_party/binutils/Linux_x64/Release/bin -fuse-ld = gold -Wl, - icf = all -pthread -W1,-O1 -W1,-gc-sections -W1,-as-需要-Wl,-rpath-link = ../Release -Wl, - disable-new-dtags -o「./webrtc_tests」-Wl, - start-group @「./ 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

我用過這個: gn gen ./out/Release --args ='is_debug = false rtc_use_h264 = false ffmpeg_branding =「Chrome」rtc_include_tests = false is_clang = false target_cpu =「arm」treat_warnings_as_errors = false rtc_enable_protobuf = false use_sysroot = false' –