webrtc demo编译笔记

1、简介

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

2、环境配置

PC机:windows 10windows

VS版本:Microsoft Visual Studio Enterprise 2019ide

3、预置条件

  • 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=vs2019ui

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

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工具。debug

若不想在VS下使用Clang,能够在webrtc编译命令行中增长is_clang=false use_lld=false。component

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

  • 编译配置使用Clang平台工具集

4、makefile配置 

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

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

 

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

  • 配置VS工程参数

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

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

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

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

 

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

备注:

一、peerconnection_client.ninja没有包含webrtc.lib,咱们写工程,须要包含进去。

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

相关文章
相关标签/搜索