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静态库。