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靜態庫。

相關文章
相關標籤/搜索