webrtc编译,不使用内置boringssl,使用openssl的

2023-02-12,,

前言

在项目开发过程中,会遇到使用https、TLS、DTLS等场景,这些第三方库一般会使用openssl作为加密套件。例如,qt中加密套件就会使用openssl,但是webrtc会默认使用boringssl;因为boringssl是从openssl创建的分支,两个库同时使用会出现重定义。

一.验证通过的版本

webrtc版本为m96

vs2019

二.生成sln工程

gn gen out/Release --ide=vs2019 --args="use_custom_libcxx=false is_debug=false target_cpu=\"x64\" is_clang=true proprietary_codecs=true treat_warnings_as_errors=false rtc_include_tests=false rtc_enable_protobuf=false rtc_use_h264=true use_rtti=true rtc_build_ssl=false rtc_ssl_root=\"D:/Qt/Tools/OpenSSL/Win_x64/include\""

三.修改工程文件

编辑 out/Release/obj/webrtc.ninja

删除正则表达匹配的内容 [a-z/_]*boringssl[a-z/_\.0-9-]*

编辑 out/Release/obj/third_party/libsrtp/libsrtp.ninja

匹配 [a-z/_]*boringssl[a-z/_\.0-9-]*为分别将

include_dirs匹配替换为 -ID$:/Qt/Tools/OpenSSL/Win_x64/include

build匹配替换为 D$:/Qt/Tools/OpenSSL/Win_x64/lib/libssl.lib

四.开始编译

双击打开out/Release/all.sln

加载完成之后,在vs2019中找到src/webrtc项目进行编译,这个过程比较漫长

编译完成后会在out/Release/obj/目录生成webrtc.lib文件

PS:

已经下载好的资源,可以直接生成工程:https://pan.xunlei.com/s/VMrM1H-qXv_KpoKs1bGCMaLgA1 提取码:kjy2

webrtc编译,不使用内置boringssl,使用openssl的的相关教程结束。

《webrtc编译,不使用内置boringssl,使用openssl的.doc》

下载本文的Word格式文档,以方便收藏与打印。