Webrtcのすべてのプラットフォームのダウンロードコンパイル手順の詳細

5277 ワード

1、depot toolsをインストールする
Windows:海外ダウンロード:https://storage.googleapis.com/chrome-infra/depot_tools.zipダウンロードして圧縮パッケージを解凍し、解凍ディレクトリをPATH環境変数Linux(Android)/Mac(IOS):git国外:git cloneをインストールhttps://chromium.googlesource.com/chromium/tools/depot_tools.git国内:git clonehttps://source.codeaurora.org/quic/lc/chromium/tools/depot_toolsデポットをtoolsディレクトリの追加
PATH:export PATH=`pwd`/depot_tools:"$PATH"

2.依存ソフトウェアのインストール
Windows:a、システムlocaleはEnglishに設定したほうがいいです.コントロールパネルのRegionです.b、Visual Studio 2015 Update 2のインストール「その他のバージョンは公式サポートされていません.c、オペレーティングシステムはWindows 7 x 64以上でなければなりません.x 86オペレーティングシステムはサポートされていません.d、VS 2015のインストール時には、•Visual C+、which will select three sub-categories including MFC•Universal Windows Apps Development Tools>Tools•Universal Windows Apps Development Tools>Windows 10 SDK(10.0.10586)e、新しくオープンしたcmdで実行set DEPOT_TOOLS_WIN_TOOLCHAIN=0その後、スクリプトはこのcmdでfを実行し、コンパイルはVSではなくninjaを使用します!Linux:後ろのAndroidを見て:Java OpenJDKをインストールする:
$ sudo apt-get install openjdk-7-jdk
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javaws
$ sudo update-alternatives --config javap
$ sudo update-alternatives --config jar
$ sudo update-alternatives --config jarsigner

Mac(IOS):最新XCodeのインストール
3.ソースコード
先にディレクトリを作成
mkdir webrtc-checkout
cd webrtc-checkout

Windows:
fetch --nohooks webrtc
gclient sync

Linux:
export GYP_DEFINES="OS=linux"
fetch --nohooks webrtc_android
gclient sync
./build/install-build-deps.sh

Android:
export GYP_DEFINES="OS=android"
fetch --nohooks webrtc_android
gclient sync
./build/install-build-deps.sh

Mac:
export GYP_DEFINES="OS=mac"
fetch --nohooks webrtc_ios
gclient sync

IOS:
export GYP_DEFINES="OS=ios"
fetch --nohooks webrtc_ios
gclient sync

4、ninjaプロジェクトファイルの生成
Windows/Linux:方式1:gnを使用して生成:debug版ninjaプロジェクトファイルの生成:gn gen out/Defaultrelease版ninjaプロジェクトファイルの生成:gn gen out/Default --args='is_debug=false'ninjaプロジェクトファイルのクリア:gn clean out/Default方式2:gyp生成(期限切れの方式を用いるが、現在はまだ使用可能)python webrtc/build/gyp_webrtc.pyAndroid:gn生成を用いる:gn gen out/Default --args='target_os="android" target_cpu="arm"'ARM 64版を生成する:gn gen out/Default --args='target_os="android" target_cpu="arm64"'32ビットx 86版を生成する:gn gen out/Default --args='target_os="android" target_cpu="x86"'64ビットx 64版を生成する:gn gen out/Default --args='target_os="android" target_cpu="x64"'Mac:gn生成を用いる:gn gen out/Debug-mac --args='target_os="mac" target_cpu="x64" is_component_build=false'IOS:ARM版を生成する:gn gen out/Debug-device-arm32 --args='target_os="ios" target_cpu="arm" is_component_build=false'ARM 64版を生成する:gn gen out/Debug-device-arm64 --args='target_os="ios" target_cpu="arm64" is_component_build=false'生成32ビットシミュレータ版:gn gen out/Debug-sim32 --args='target_os="ios" target_cpu="x86" is_component_build=false'生成64ビットシミュレータ版:gn gen out/Debug-sim64 --args='target_os="ios" target_cpu="x64" is_component_build=false'iosコンパイル
#!/bin/sh
#armv32
gn gen out_ios32 --args='target_os="ios" target_cpu="arm" is_component_build=false' --ide=xcode
ninja -C out_ios32 AppRTCMobile
#armv64
gn gen out_ios64 --args='target_os="ios" target_cpu="arm64" is_component_build=false' --ide=xcode
ninja -C out_ios64 AppRTCMobile

macコンパイル
gn gen out/Debug --ide=xcode --args='is_debug=true' --mac_deployment_target=10.10 --rtc_include_tests=true
gn gen out/Release --ide=xcode --args='is_debug=false' --mac_deployment_target=10.10 --rtc_include_tests=true

コピー
for i in `find /Users/zf/webrtc1128/webrtc-checkout/src/out_ios32 -name "lib*.a"`
do
echo $i
cp $i ./out_ios32/
done
libtool -static -v -o out_ios32/libwebrtc32.a out_ios32/*.a
strip -S -X out_ios32/libwebrtc32.a
for i in `find /Users/zf/webrtc1128/webrtc-checkout/src/out_ios64 -name "lib*.a"`
do
echo $i
cp $i ./out_ios64/
done
libtool -static -v -o out_ios64/libwebrtc64.a out_ios64/*.a
strip -S -X out_ios64/libwebrtc64.a

5.ソースコードのコンパイル
Windows/Linux/Android/Mac/IOS:
ninja -C out/Default

では、関連するすべてのライブラリとテストプログラムをコンパイルします.vsエンジニアリングwindows 1を生成する.VSプロジェクトファイルの生成
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_GENERATORS=msvs-ninja,ninja
set GYP_MSVS_VERSION=2015 (   2013     ,         )

VS 2013プロジェクトファイルの生成(推奨)
gn gen out/Default –ide=vs2013

VS 2015プロジェクトファイルの生成
gn gen out/Default –ide=vs2015
gn gen out/Default -ide=vs2015 --args="is_debug=true is_component_build=true target_cpu=\"x86\""