Compilação da versão Windows do Webrtc (com base na imagem de rede de som)

Compilação da versão Windows do Webrtc (com base na imagem de rede de som)

 

Preparação preliminar:

1. Sistema operacional

Windows 10 Preview Build 17063 ou versões posteriores exigem comandos curl e tar, bem como funções do PowerShell

Como verificar se curl e tar são compatíveis, abra o PowerShell

Isso deve ser suportado, pois no processo de download do webrtc, essas instruções são necessárias para apoiar!

 

2. git installation

git - https://git-scm.com/download/win

 

3. Instalação do vs2017

visualstudio2017community - https://download.visualstudio.microsoft.com/download/pr/aaebc214-bc67-4137-9bea-04fcb0c90720/2e18f27594472d0c7515d9cbe237bd56/vs_community.exe

3.1 Modifique o "Kit de Desenvolvimento de Software do Windows"> + Ferramentas de Depuração para Windows Isso é obrigatório

 Deve haver várias versões deste Kits do Windows Phone, todas verificadas em Ferramentas de Depuração para Windows

3.2 Seleção da versão do SDK

Estes devem ser bem selecionados, caso contrário, o LIB e INCLUDE dependentes do processo de compilação serão incompletos, causando falha de compilação, como:

Arquivo AssertionError "C: /Users/Administrator/webrtc/src/build/toolchain/win/setup_toolchain.py", linha 278, no principal

assert vc_lib_atlmfc_path

 

4. Instalação Python

python2 - https://www.python.org/downloads/release/python-2716/

4.1 instalação pip

https://www.cnblogs.com/baiyuer/p/9606773.html

Configuração de variáveis ​​de ambiente

4.2 Instalação do módulo pywin32 pip install pywin32

Este módulo não está instalado. Durante o processo de compilação, o erro "Nenhum módulo chamado win32file" aparecerá

 

Configuração do ambiente

1. A configuração básica do git, salve o seguinte conteúdo como o arquivo git_env.bat, aguardando o backup

git config --global user.email "[email protected]"
git config --global user.name "freeabc"
 
git config --global url.http://120.92.49.206:3232/chromiumsrc/webrtc.git.insteadOf https://chromium.googlesource.com/external/webrtc.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/base.git.insteadOf https://chromium.googlesource.com/chromium/src/base
git config --global url.http://120.92.49.206:3232/chromiumsrc/build.git.insteadOf https://chromium.googlesource.com/chromium/src/build
git config --global url.http://120.92.49.206:3232/chromiumsrc/buildtools.git.insteadOf https://chromium.googlesource.com/chromium/src/buildtools
git config --global url.http://120.92.49.206:3232/chromiumsrc/gradle.git.insteadOf https://chromium.googlesource.com/external/github.com/gradle/gradle.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/ios.git.insteadOf https://chromium.googlesource.com/chromium/src/ios.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/testing.git.insteadOf https://chromium.googlesource.com/chromium/src/testing
git config --global url.http://120.92.49.206:3232/chromiumsrc/third_party.git.insteadOf https://chromium.googlesource.com/chromium/src/third_party
git config --global url.http://120.92.49.206:3232/chromiumsrc/clang-format.git.insteadOf https://chromium.googlesource.com/chromium/llvm-project/cfe/tools/clang-format.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/libcxx.git.insteadOf https://chromium.googlesource.com/chromium/llvm-project/libcxx.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/libcxxabi.git.insteadOf https://chromium.googlesource.com/chromium/llvm-project/libcxxabi.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/libunwind.git.insteadOf https://chromium.googlesource.com/external/llvm.org/libunwind.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/android_ndk.git.insteadOf https://chromium.googlesource.com/android_ndk.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/android_tools.git.insteadOf https://chromium.googlesource.com/android_tools.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/auto.git.insteadOf https://chromium.googlesource.com/external/github.com/google/auto.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/catapult.git.insteadOf https://chromium.googlesource.com/catapult.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/compact_enc_det.git.insteadOf https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/colorama.git.insteadOf https://chromium.googlesource.com/external/colorama.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/depot_tools.git.insteadOf https://chromium.googlesource.com/chromium/tools/depot_tools.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/errorprone.git.insteadOf https://chromium.googlesource.com/chromium/third_party/errorprone.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/ffmpeg.git.insteadOf https://chromium.googlesource.com/chromium/third_party/ffmpeg.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/findbugs.git.insteadOf https://chromium.googlesource.com/chromium/deps/findbugs.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/freetype2.git.insteadOf https://chromium.googlesource.com/chromium/src/third_party/freetype2.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/harfbuzz.git.insteadOf https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/gtest-parallel.git.insteadOf https://chromium.googlesource.com/external/github.com/google/gtest-parallel
git config --global url.http://120.92.49.206:3232/chromiumsrc/googletest.git.insteadOf https://chromium.googlesource.com/external/github.com/google/googletest.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/icu.git.insteadOf https://chromium.googlesource.com/chromium/deps/icu.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/jsr-305.git.insteadOf https://chromium.googlesource.com/external/jsr-305.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/jsoncpp.git.insteadOf https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/junit.git.insteadOf https://chromium.googlesource.com/external/junit.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/fuzzer.git.insteadOf https://chromium.googlesource.com/chromium/llvm-project/compiler-rt/lib/fuzzer.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/libjpeg_turbo.git.insteadOf https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/libsrtp.git.insteadOf https://chromium.googlesource.com/chromium/deps/libsrtp.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/libvpx.git.insteadOf https://chromium.googlesource.com/webm/libvpx.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/libyuv.git.insteadOf https://chromium.googlesource.com/libyuv/libyuv.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/linux-syscall-support.git.insteadOf https://chromium.googlesource.com/linux-syscall-support.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/mockito.git.insteadOf https://chromium.googlesource.com/external/mockito/mockito.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/nasm.git.insteadOf https://chromium.googlesource.com/chromium/deps/nasm.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/openh264.git.insteadOf https://chromium.googlesource.com/external/github.com/cisco/openh264
git config --global url.http://120.92.49.206:3232/chromiumsrc/requests.git.insteadOf https://chromium.googlesource.com/external/github.com/kennethreitz/requests.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/robolectric.git.insteadOf https://chromium.googlesource.com/external/robolectric.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/ub-uiautomator.git.insteadOf https://chromium.googlesource.com/chromium/third_party/ub-uiautomator.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/usrsctp.git.insteadOf https://chromium.googlesource.com/external/github.com/sctplab/usrsctp
git config --global url.http://120.92.49.206:3232/chromiumsrc/binaries.git.insteadOf https://chromium.googlesource.com/chromium/deps/yasm/binaries.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/patched-yasm.git.insteadOf https://chromium.googlesource.com/chromium/deps/yasm/patched-yasm.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/tools.git.insteadOf https://chromium.googlesource.com/chromium/src/tools
git config --global url.http://120.92.49.206:3232/chromiumsrc/client-py.git.insteadOf https://chromium.googlesource.com/infra/luci/client-py.git
git config --global url.http://120.92.49.206:3232/chromiumsrc/boringssl.git.insteadOf https://boringssl.googlesource.com/boringssl.git

2. Para preparar o ambiente antes de compilar, salve o seguinte conteúdo como o arquivo pre_build.bat para uso

set GYP_DEFINES = target_arch=x64
set GYP_MSVS_VERSION=2017

set LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64;F:\Windows Kits\10\Lib\10.0.17763.0\um\x64;
set INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;F:\Windows Kits\10\Include\10.0.17763.0\ucrt;F:\Windows Kits\10\Include\10.0.17763.0\um;F:\Windows Kits\10\Include\10.0.17763.0\winrt;

set DEPOT_TOOLS_UPDATE=0
set GYP_MSVS_VERSION=2017 
set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community
set GYP_DEFINES=target_arch=x64
set GYP_GENERATORS=msvs-ninja,ninja 

Certifique-se de alterar LIB, INCLUDE, GYP_MSVS_OVERRIDE_PATH, GYP_MSVS_VERSION para o caminho real de sua instalação local.O exemplo acima é o caminho absoluto em minha máquina! ! ! ! ! !

 

Processo de compilação

1. Primeiro execute o script acima git_env.bat

2. Baixe depot_tools

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git -b gitlab

3. Configure as variáveis ​​de ambiente de depot_tools, consulte a captura de tela em 4.1 acima

4. Crie o diretório webrtc

5. Abra cmd.exe e entre no diretório webrtc

6. gclient config --name src https://chromium.googlesource.com/external/webrtc.git@gitlab

7. Configure as variáveis ​​de ambiente

7.1 set CDS_CLANG_BUCKET_OVERRIDE=http://120.92.49.206:3232/chromiumsrc/commondatastorage/raw/master/public/chromium-browser-clang

7.2 set DEPOT_TOOLS_WIN_TOOLCHAIN=0

8. Sincronizar caminho

gclient sync --patch-ref = https: //chromium.googlesource.com/chromium/src/build.git@gitlab

9. Execute o script acima pre_build.bat

10. gn gen out / Padrão --ide = vs2017

11. ninja -C out / Padrão

Se tudo correr bem, basicamente pode ser compilado e aprovado!

Acho que você gosta

Origin blog.csdn.net/freeabc/article/details/109304937
Recomendado
Clasificación