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