一、簡介
實際版本開發時,需要將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編譯器,

-
編譯配置使用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靜態庫,
子系統配置:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/22050.html
標籤:java
