Webrtc源码编译之个人仓库

FGYP_GENERATORSGoogle官方文档参考:https://webrtc.github.io/webrtc-org/native-code/development/#

  • 安装VS

VS 必须安装在C盘,负责后续需要修改很多文件

​ 1、Desktop development with C++
​ 2、MFC and ATL support

​ 3、Windows10SDK
​ 选择版本:10.0.19041.0
​ Windows Software Development Kit,下载后安装上

​ 4、通过卸载面板,选择windowsSDK change->勾选所有

  • 安装depot_tools

    1、下载
    	curl https://storage.googleapis.com/chrome-infra/depot_tools.zip --output depot_tools.zip
    
    2、解压缩
    	mkdir c:\depot_tools
        tar -xf depot_tools.zip -C c:\depot_tools
        del depot_tools.zip
    3、 设置环境变量
    	set PATH=c:\depot_tools;%PATH%
    
  • 下载源码

​ 1、设置webrtc本地环境

set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION=2019

​ 2、下载webrtc官方源码执行

fetch --nohooks webrtc

​ 3、下载仓库源码需要,拷贝

buildtools-》源码目录
.cipd

.gclient

.gclient_entries -》到源码上层目录

​ 同步编译依赖

gclient sync -f
  • 编译
set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
set GYP_MSVS_VERSION=2019
set GYP_GENERATORS=msvs-ninja,ninja
set DEPOT_TOOLS_WIN_TOOLCHAIN=0

执行工程构建命令

gn gen out/release_h264_clang_vs2019 --args="target_cpu=\"x86\" is_debug=false enable_iterator_debugging=true use_custom_libcxx = false use_rtti=true is_component_build=false is_clang=true proprietary_codecs=true rtc_use_h264=true ffmpeg_branding=\"Chrome\" rtc_build_ssl=true " --ide=vs2019
  • error问题解决

1、vs没有安装在c盘

ERROR at //build/config/win/visual_studio_version.gni:27:7: Script returned non-zero exit code.

代表vs不是装在C盘,在webrtc/src/build/vs_toolchain.py 163行添加vs绝对路径

path = os.path.expandvars(‘D:/Microsoft Visual Studio/%s’ % version)

2、ERROR at //build/toolchain/toolchain.gni:10:1: Can’t load input file.

See //build/config/profiling/profiling.gni:6:1: whence it was imported.

代表编译库已经被污染了,替换

build目录

build_overrides目录
3、执行生产工程命令无反应

先要执行gclient sync -f

gn gen out/release_h264_clang_vs2019_x64 --args="target_cpu=\"x64\" is_debug=false rtc_include_tests=false enable_iterator_debugging=true use_custom_libcxx = false use_rtti=true is_component_build=false is_clang=true proprietary_codecs=true rtc_use_h264=true rtc_libvpx_build_vp9=true  ffmpeg_branding=\"Chrome\" rtc_build_ssl=true treat_warnings_as_errors=false" --ide=vs2019

4、编译时候显示 ‘ninja.exe’ 不是内部或外部命令,也不是可运行的程序

​ 用everthing 查找下 ninja.exe,把路径添加到 系统环境变量PATH中

​ 重启编译工具,编译webrtc

5、ERROR at //build/timestamp.gni:31:19: Script returned non-zero exit code.

​ 代表缺少:LASTCHNGE

​ 在src目录下执行

​ git config --global --add safe.directory D:/webrtc/src/build

​ 再执行python生产LASTCHANGE

​ python3 build/util/lastchange.py build/util/LASTCHANGE

6、Exception: Path “C:\Program Files (x86)\Windows Kits\10\include\10.0.20348.0\shared” from environment variable “include” does not exist. Make sure the necessary SDK is installed.
ERROR at //build/toolchain/win/toolchain.gni:500:24: Script returned non-zero exit code.
win_toolchain_data = exec_script(“//build/toolchain/win/setup_toolchain.py”,

安装SDK 20348

相关推荐

  1. Webrtc编译个人仓库

    2024-06-06 18:32:03       26 阅读
  2. curaengine编译libarcus编译记录

    2024-06-06 18:32:03       41 阅读
  3. 并发编程ReentrantLock分析

    2024-06-06 18:32:03       53 阅读
  4. openwrt编译

    2024-06-06 18:32:03       63 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 18:32:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 18:32:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 18:32:03       87 阅读
  4. Python语言-面向对象

    2024-06-06 18:32:03       96 阅读

热门阅读

  1. PMP考完后考什么?项目经理晋升揭秘!

    2024-06-06 18:32:03       28 阅读
  2. centos打包离线phtone3安装包rpm

    2024-06-06 18:32:03       34 阅读
  3. 【安卓跨进程通信IPC】-- Binder

    2024-06-06 18:32:03       32 阅读
  4. text2sql、nl2sql框架总结

    2024-06-06 18:32:03       25 阅读
  5. 贪心策略:FatMouse‘ Trade

    2024-06-06 18:32:03       26 阅读
  6. 安卓自动化之minicap截图

    2024-06-06 18:32:03       31 阅读
  7. 边缘计算:推动智能时代的前沿技术

    2024-06-06 18:32:03       29 阅读
  8. 【面结构光三维重建】1.双目系统的标定

    2024-06-06 18:32:03       32 阅读