webrtc demo编译笔记

一、简介

实际版本开发时,需要将webrtc的lib合入自己特定的工程库,这里记录一下合入过程,便于后续版本升级webrtc版本新建工程时参考。

二、环境配置

PC机:windows 10

VS版本:Microsoft Visual Studio Enterprise 2019

三、预置条件

  • windows环境上编译webrtc

编译OKwebrtc库,使用编译命令行为

gn gen out/Release --args="target_os=\"win\" target_cpu=\"x64\" is_debug=false rtc_use_h264=true is_component_ffmpeg=true ffmpeg_branding=\"Chrome\" enable_libaom=false gtest_enable_absl_printers=false libyuv_include_tests=false rtc_include_tests=false is_component_build=false rtc_enable_protobuf=true" --ide=vs2019

若是版本不支持Clang,可以使用如下命令行

gn gen out/Release --args="target_os=\"win\" target_cpu=\"x64\" is_debug=false is_clang=false use_lld=false enable_libaom=false gtest_enable_absl_printers=false libyuv_include_tests=false rtc_include_tests=false is_component_build=false rtc_enable_protobuf=true" --ide=vs2019

  • VS配置安装Clang

webrtc默认编译器是Clang,所以使用VS进行编译时,需要在VS中增加Clang工具。

若不想在VS下使用Clang,可以在webrtc编译命令行中增加is_clang=false use_lld=false。

但是使用is_clang=false use_lld=false命令参数,webrtc不能使用H264功能,因为H264的解码调用的是ffmpeg的264解码器,编ffmpeg必须使用clang编译器。

扫描二维码关注公众号,回复: 11642450 查看本文章
  • 编译配置使用Clang平台工具集

四、makefile配置 

  • 修改webrtc编译配置lib库类型为MD

修改..\src\build\config\win路径下BUILD.gn配置文件与VS保持一致

备注:选择MT不用拷贝系统运行期库,但是生成文件会比较大。MD,生成文件比较小,但是需要拷贝一些系统文件。

  • 配置VS工程参数

根据webrtc编译输出文件..\src\out\Release\obj\examples路径下的peerconnection_client.ninja配置VS工程参数。

1、按照配置文件的-I参数,配置VS的include路径

备注:这里gen是webrtc编译生成的文件。在..\src\out\Release\gen路径下。

2、按照配置文件的-D参数,配置VS的预处理器定义

3、按照配置文件的link,配置链接器的lib库的依赖关系。

备注:

1、peerconnection_client.ninja没有包含webrtc.lib,我们写工程,需要包含进去。

2、需配置webrtc编译参数is_component_build=false,保证仅仅引用lib静态库。

猜你喜欢

转载自blog.csdn.net/CrystalShaw/article/details/108507064