WebRTC编译(VS2017)

vs2017环境下webrtc的下载与编译配置 由于webrtc最新版本,加入了新的降噪模块,这里对最新版本进行下载与编译配置 1、安装vs2017,在官网上下载 2、下载depot_tools http://dev.chromium.org/developers/how-tos/install-depot-tools 3、下载安装windows 10 sdk 目前我使用的版本 sdk 版本号 最好为 1... 阅读详情

写一篇文章记录一下WebRTC的VS2017编译,这里记录的是网上没有搜索到的信息,作为对实践编译过程的补充

修改vs的并行编译工作数量为1

因为webrtc多达900多个项目,彼此之间存在复杂的依赖关系,并行编译会破坏这种依赖关系,可能是ninja构建系统的依赖关系设计并不完全兼容VS2017的工作方式吧

)描述
选择工具>选项打开选项页,再选择环境>项目和解决方案->生成并运行,设置最大并行项目生成数为1.

编译video_replay项目失败

FAILED: video_replay.exe video_replay.exe.pdb
ninja -t msvc -e environment.x64 -- ..\..\third_party\llvm-build\Release+Asserts\bin\lld-link.exe /nologo "-libpath:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\lib\x64" "-libpath:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64" "-libpath:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64" "-libpath:C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\ucrt\x64" "-libpath:C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64" /OUT:./video_replay.exe /PDB:./video_replay.exe.pdb @./video_replay.exe.rsp
lld-link : error : undefined symbol: public: static class webrtc::Call * __cdecl webrtc::Call::Create(struct webrtc::CallConfig const &)
>>> referenced by .\..\..\video\video_replay.cc:384
>>>               obj/video/video_replay/video_replay.obj:(public: static void __cdecl webrtc::RtpReplayer::Replay(class std::__1::basic_string<char, struct std::__1::char_traits<char>, class std::__1::allocator<char>> const &, class std::__1::basic_string<char, struct std::__1::char_traits<char>, class std::__1::allocator<char>> const &))
>>> referenced by .\..\..\test\call_test.cc:227
>>>               obj/test/test_common/call_test.obj:(protected: void __cdecl webrtc::test::CallTest::CreateSenderCall(struct webrtc::CallConfig const &))
>>> referenced by .\..\..\test\call_test.cc:234
>>>               obj/test/test_common/call_test.obj:(protected: void __cdecl webrtc::test::CallTest::CreateReceiverCall(struct webrtc::CallConfig const &))

lld-link : error : undefined symbol: public: static class rtc::scoped_refptr<class webrtc::AudioState> __cdecl webrtc::AudioState::Create(struct webrtc::AudioState::Config const &)
>>> referenced by .\..\..\test\call_test.cc:109
>>>               obj/test/test_common/call_test.obj:(public: <auto> __cdecl `protected: void __cdecl webrtc::test::CallTest::RunBaseTest(class webrtc::test::BaseTest *)'::`1'::<lambda_2>::operator()(void) const)
>>> referenced by .\..\..\test\call_test.cc:122
>>>               obj/test/test_common/call_test.obj:(public: <auto> __cdecl `protected: void __cdecl webrtc::test::CallTest::RunBaseTest(class webrtc::test::BaseTest *)'::`1'::<lambda_2>::operator()(void) const)
ninja: build stopped: subcommand failed.
D:\OpenMind\webrtc_latest\src\out\Default\obj\video\video_replay.vcxproj(67,5): error MSB3073: 命令“call ninja.exe -C D:\OpenMind\webrtc_latest\src\out\Default\  video_replay.exe”已退出,代码为 1。

解决办法是
修改src\video\BUILD.gn文件,
添加"…/call:call"编译依赖:
rtc_executable(“video_replay”) {
testonly = true
sources = [
“video_replay.cc”,
]
deps = [
“…/api/rtc_event_log”,
“…/api/task_queue:default_task_queue_factory”,
“…/api/test/video:function_video_factory”,
“…/api/video_codecs:video_codecs_api”,
“…/call:call_interfaces”,
"…/call:call",
“…/common_video”,
“…/media:rtc_internal_video_codecs”,
“…/rtc_base:checks”,
“…/rtc_base:rtc_json”,
“…/rtc_base:stringutils”,
“…/rtc_base:timeutils”,
“…/system_wrappers”,
“…/test:call_config_utils”,
“…/test:encoder_settings”,
“…/test:fake_video_codecs”,
“…/test:null_transport”,
“…/test:rtp_test_utils”,
“…/test:run_test”,
“…/test:run_test_interface”,
“…/test:test_common”,
“…/test:test_renderer”,
“…/test:test_support”,
“…/test:video_test_common”,
“…/test:video_test_support”,
“//third_party/abseil-cpp/absl/flags:flag”,
“//third_party/abseil-cpp/absl/flags:parse”,
]
}

二维otsu算法python_OpenCV-Python系列之OTSU算法 上一个教程中,我们谈到了关于图像二值化的两种方法,一种是固定阈值法,另一种是自适应阈值法,总的来说,自适应阈值法在某些方面要由于固定阈值法,但还没完,这次我们将隆重介绍我们的重量级选手,也就是OTSU算法(又称为大津算法和最大类间方差法)。最大类间方差法是1979年由日本学者大津提出的,是一种自适应阈值确定的方法,又叫大津法,简称OTSU,是一种基于全局的二值化算法,它是根据图像的灰度特性,将图像... 阅读详情

相关推荐

Langchain4j 文档处理实战:从加载到分割的完整流程解析

本文详细解析了使用Langchain4j进行文档处理的完整流程,涵盖从文档加载、解析到分割的核心步骤。通过实战代码示例,重点介绍了如何利用文档分割器将大文档切割为适合大语言模型处理的片段,并提供了参数调优与避坑指南,帮助Java开发者高效构建AI应用的数据处理基础。

smartcontract5的博客 542

webrtc 103 android编译问题

将 webrtc-checkout/src/third_party/abseil-cpp/absl/base/options.h 中 ABSL_OPTION_USE_STD_ANY 、ABSL_OPTION_USE_STD_OPTIONAL ABSL_OPTION_USE_STD_STRING_VIEW 和 ABSL_OPTION_USE_STD_VARIANT 四个宏的值改为从 2 改为 0 再重新编译 webrtc。

wzw88486969的专栏 1039

【毕设】基于LoRa的物联网控制器:从原理图到PCB的完整硬件设计指南

本文提供了一份完整的基于LoRa的物联网控制器硬件设计指南,涵盖从系统框图、原理图设计到PCB布局布线的全流程。详细讲解了电源电路、单片机最小系统、信号接口以及LoRa无线模块等核心模块的设计要点与抗干扰技巧,并分享了实用的调试心得,旨在帮助电子、物联网专业学生顺利完成毕业设计,掌握低功耗远距离物联网节点的硬件开发实践。

weixin_42126677的博客 306

C++:ld.lld: error: undefined symbol

这个问题通常与命名空间的使用方式没有直接关系,因为C++的命名空间主要用于组织代码,避免名称冲突,而不影响编译和链接的基本过程。所以,即使 `cps` 命名空间中的代码引用了 `recall_service` 命名空间中的代码,或者反过来,都不应该直接导致链接错误。2. 编译单元未包含:如果 `mget` 方法的定义在另一个源文件中,确保该源文件被正确编译并链接到最终的可执行文件或库中。4. 模板实例化问题:如果 `mget` 是一个模板方法,并且其实例化在编译单元之外进行,可能需要确保适当的模板实例化。

大家好,我是“码上暹罗”,一个与代码和暹罗猫同行的技术探索者。在我的博客里,你将发现编程技巧、技术洞察以及日常点滴,共同揭开技术背后的神秘面纱。无论你是初学者还是资深开发者,都欢迎来到我的世界,一起享受编程之旅。 1万+

从手机到自动驾驶:MIPI-CSI2协议演进史与车规级改造要点

本文追溯了MIPI-CSI2协议从智能手机摄像头到自动驾驶核心传感器的演进历程。重点剖析了该协议在车规级改造中面临的严苛挑战,包括物理层稳定性、EMC防护、功能安全与数据可靠性等关键要点,并探讨了其在多传感器融合与高带宽实时传输中的工程实践。

weixin_28318011的博客 308

Quantum Espresso实战进阶:HSE混合泛函在能带计算中的精准应用

本文深入探讨了在Quantum Espresso中应用HSE混合泛函进行高精度能带计算的实战方法。针对传统DFT方法低估半导体带隙的问题,HSE通过混合精确交换能,显著提升计算精度。文章详细讲解了从输入文件配置、参数设置(如nqx网格、exxdiv_treatment)、到自洽与非自洽计算流程,以及结果可视化与对比的全过程,并提供了关键的调优与避坑指南,助力实现从PBE到HSE的精准进阶。

weixin_28363123的博客 226

webrtc native C++入门

1. 课程介绍及示例演示2. webrtc 下载3. windows 系统下webrtc 编译及调试4. peerconnection_server服务器源码分析5. peerconnection_client客户端源码分析6. webrtc相关资料及课程总结 

FPGA实战:手把手教你实现VESA DSC编码(附Verilog代码解析)

本文详细介绍了如何使用FPGA实现VESA DSC编码器,包括核心架构设计、Verilog代码实现与优化技巧。通过流水线设计、色彩空间转换和预测编码等关键技术,帮助开发者掌握工业级DSC编码器的开发流程,并提供实用的调试与性能优化方法。

weixin_29165725的博客 403

Windows环境下编译OLLVM源码(VS2022)

这个非常重要,llvm-12.x 开始默认使用 newPM进行编译源码,导致 ollvm 不起作用!(虽然可以用 -flegacy-pass-manager 让 llvm 不走 newPM 编译,但是…-mllvm -bcf_prob=40: 代码块被混淆的概率是40%,默认30%-mllvm -split_num=3: 对每个block混淆3次,默认1词。-mllvm -sub_loop=3: 对每个函数混淆3次,默认1词。-mllvm -bcf_loop=3: 对一个函数混淆3次,默认1次。

楼阁之束的博客 3558

AUTOSAR实战:手把手教你配置EthTsync模块,搞定车载以太网时间同步

本文详细解析AUTOSAR架构中EthTsync模块的配置方法,实现车载以太网时间同步。通过对比gPTP与PTP协议差异,提供从开发环境准备到参数配置、模块集成的全流程指南,并分享性能优化与调试技巧,帮助开发者实现微秒级同步精度,满足自动驾驶等高精度时间同步需求。

weixin_28736335的博客 374

别再纠结了!实测罗技Flow、对拷线、微软Mouse without Borders,我的最终选择是...

本文通过实测对比罗技Flow、对拷线和微软Mouse without Borders等多设备控制方案,详细分析了各自的优缺点及适用场景。作者最终选择了对拷线与罗技键鼠的组合方案,为专业用户提供了稳定可靠的多设备协同办公解决方案,特别适合需要频繁传输大文件和跨设备操作的用户。

weixin_33696106的博客 405

windows下visual studio 2019 c++代码混淆

环境:windows,visual studio 2019,cmake目的:c++代码混淆。

qq_26611129的博客 3337

Unity Android构建报错:compileSdk 35兼容性五层定位法

Android构建中的compileSdk是编译时API目标版本,其升级并非孤立操作,而是触发JDK、Android Gradle Plugin(AGP)、NDK、targetSdk与Unity引擎版本之间强耦合校验的起点。当出现'using a newer Android Gradle plugin to use compileSdk = 35'类报错,本质是代际技术栈错配——例如AGP 7.1.3不识别compileSdk 35所需Java 17语法,或NDK 21与AGP 7.4的ABI规范冲突。该问

weixin_32496547的博客 568

Win10+vs2017 webrtc下载和编译

现在使用webrtc的小伙伴越来越多,我也来凑凑热闹,第一步自然是下载源码,其实官网上面写的还是蛮详细的,只是环境搭建稍稍复杂了点,再加上国内不能访问google,所以简单的事情就变得复杂起来。我就按照官网上面的流程给大家简单介绍下,具体细节可以参考https://webrtc.org/native-code/development/,当然前提条件是你可以访问google。 1、vs2017安装...

gucheng886的专栏 2419

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

WebRTC学习(二)Windows10平台WebRTC编译(VS2017)

1、Visual Studio 2017安装 WebRTC用到了很多C++最新特性,所以编译最新WebRTC代码VS要求为2017(>=15.7.2) 版本。

Swallow_he的博客 1706

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Webrtc+Windows10+VS2017 编译

一、环境及代码获取 1、本机系统环境 系统:Windows Server 2016,Windows10(代码及编译消耗巨大,采用云端服务器编译) VS版本:VS2017 15.9.38(建议保持这个版本及以上版本) 代码版本: 分支4103 commit 3ed9687558f4fd0271adf5836d4a029df858dc43 6/28/2020 PYTHON: 2.7.17 语言区域:美国英语(系统及IDE都设为英文) 2、代码获取 (1)安装depot_tools工具包 git clone ht

klobliu的博客 1244

win10下 webrtc下载和编译 for vs2017

一、vs2017安装和准备 1.1 安装 安装“使用C ++进行桌面开发”组件和“MFC和ATL支持”子组件,需要注意的是win10 SDK,至少需要10.0.17134.0版本,否则会出现问题。 还必须安装SDK调试工具(The SDK Debugging Tools)。如果通过Visual Studio安装程序安装了Windows 10 SDK,则可以通过以下方式安装它们:控制面板→程序和功...

鸟语的专栏 1978

Windows VS2017编译WebRTC选项

详细讲解VC2017编译webrtc m84版本参数配置 --debug gn gen --target=x64 --args="symbol_level=0 is_debug=true is_clang = true use_custom_libcxx = false use_rtti=true rtc_include_tests=false rtc_libvpx_build_vp9=true enable_iterator_debugging=false proprietary_codecs=..

thehunters的专栏 826

webrtc 代码学习(零) windows vs2017 编译

windows vs2017 编译 作者:LanPZzzz 文章目录1. clone https://gitee.com/WebrtcUse/depot_tools.git2. 把depot_tools 加入到环境变量中3. clone https://gitee.com/WebrtcUse/webrtc.git 后,切换到my_69 分支上4. 下载链接:https://pan.baidu.co...

Miracle_包子 727

webrtc+Win10+VS2017编译全过程

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_3...

qq_35238352的博客 925

webrtc+VS2017完整工程及编译结果介绍

webrtc+VS2017完整工程及编译结果介绍 去发现同类优质开源项目:https://gitcode.com/ 此仓库提供了webrtc源码及其编译结果,适用于VS2017开发环境。资源文件包含完整的工程文件,您可以直接使用或自行编译调试。 webrtc是一个实时通信项目,被广泛应用于网络通信领域。此资源文件旨在帮助开发者更快地理解和运用webrtc技术,节省开发时间。 编译过程及相关调试方法...

gitblog_06746的博客 408

webrtc vs2017/vs2019编译 / android版本编译

https://blog.jianchihu.net/webrtc-build-vs2017.html?replytocom=6827 ***********************************************************************************************参考博客(很详细) 以下webrtc编译过程仅是对上述博客编译过程进行补充(截止2020.7.15) 1.下载depot_tools https://storage.googleapi

角落里的木头人的博客 1017

vs2017+webrtc编译

记录下需要的编译步骤  我的电脑系统 win7  需要20G空间 1.下载webrtc源码。(需要科学上网才能下载到。我是用公司的vpn) 2 下载vs2017  3. 下载win10 sdk 版本10.0.17134 (记得勾选一个debug tools for windows 不然不会出现这个文件。然后后面编译的时候会报无法找到 dbghelp.dll) 4. 配置环境 G...

Z-VegetableBird的博客 1714

Windows平台WebRTC编译-VS2017

转载网站:https://blog.jianchihu.net/webrtc-build-vs2017.html 在音视频领域,想深入研究的话,必定会接触WebRTC。WebRTC是一个庞大的工程,就像是音视频领域的百科全书,音视频采集,编解码,传输,渲染等一条龙在WebRTC里都有,而且WebRTC还有很多先进的音视频处理算法。由于WebRTC代码过于庞大,所以最好单步调试跟踪代码运行,这样才...

GUANYIJUN123的专栏 677

VS2017下编译WebRtc

1、在存储空间大的磁盘新建文件夹webrtc,本文设置的路径是E盘下,姑目录为:E:\webrtc 2、首先下载depot_tools,地址为: https://storage.googleapis.com/chrome-infra/depot_tools.zip 3、将depot_tools.zip解压在E:\webrtc目录下,将目录E:\webrtc\depot_tools增加到环境...

刘小通通的博客 2986

VS2017 编译 chromium和webrtc

chromium的编译和webrtc的编译方式相同,webrtc官网也是使用的chromium的编译文档。 步骤一、跳 - 墙,先跳 - 墙这是第一步哟,chromium大概有10几个G,webrtc有6个G左右。 步骤二、下载depot_tools,并配置环境变量,PATH下添加depot_tools的解压路径E:\src\depot_tools 步骤三、cmd运行gclient...

144

win10下vs2017编译webrtc错误

Exception: Visual Studio Version 2017 (from GYP_MSVS_VERSION) not found. 错误位置:D:\VSProjects\webrtc-checkout\src\build\vs_toolchain.py 代码: for path in ( os.environ.get('vs%s_install' % ve...

鸟语的专栏 1640
上一篇: 扩展Vmware的虚拟Linux系统磁盘
下一篇: 整理高能linux shell命令
古灵古怪
博客等级 码龄18年 21粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值