当webrtc遇上_ITERATOR_DEBUG_LEVEL
编译webrtc
就挺困难的,因为要访问的工具、代码仓库等等都很不容易,编译完成后,拿webrtc.lib
到项目里一集成,你可能就会遇到这个问题:
error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in main.obj
如果用的是中文版的VC++,如错信息是这样的
error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”(main.obj 中) 错误
但是,你还会发现在Release模式编译链接就没有这个错误哦。
你去搜索,可以发现原因是“当前工程是Debug版本,而引用的库文件时Release版本”,然后你就去编译了一个Debug版本的webrtcd.lib
,然而,还是有这个错误,这时候你再全网搜索也找不到正确答案了,但有可能找到一个不完美的答案,那就是在项目中定义_ITERATOR_DEBUG_LEVEL=0
,链接错误没有了,但运行起来可以会突然间崩溃,进程退出,影响开发和调试。
我去翻了gn args --list <out_dir>
命令的几百个参数,看花了眼睛,才终于彻底解决这个问题,这就是为什么我要在这里写来的原因:希望读者能在这里快速找到解决方案。
我强烈建议编译webrtc
时,分开Debug和Release两个版本,它默认的编译参数是Release的。方法是在生成Debug版本时,执行gn gen out/Debug --args="is_debug=true"
,而生成Release版本时执行gn gen out/Release --args="is_debug=false"
。
很高兴在这里引出args
参数,其实除了is_debug
还有很多参数可以加上去,上文说过了,有几百个。如果你有很多参数通过命令行传递过去的话,你会烦死的,所以gn
其实支持参数文件,你细心找一下,会在out/Debug
和out/Relaese
有一个args.gn
文件,你用记事本打开,发现之前传递的is_debug=true
参数正好好地躺在里面呢。
回到正题,_ITERATOR_DEBUG_LEVEL
不匹配的解决方案就是在Debug版本的args.gn
中写入enable_iterator_debugging=true
参数,然后再执行gn gen out/Debug
重新生成文件,再调用ninja
编译就可以了。
不过,要记得在Release版本中不要加这个参数。
当webrtc遇上_ITERATOR_DEBUG_LEVEL相关推荐
- 推荐系统遇上深度学习,9篇阿里推荐论文汇总!
作者 | 石晓文 转载自小小挖掘机(ID: wAIsjwj) 业界常用的推荐系统主要分为两个阶段,召回阶段和精排阶段,当然有时候在最后还会接一些打散或者探索的规则,这点咱们就不考虑了. 前面九篇文章中 ...
- 华为平板电脑_当5G遇上平板电脑,华为MatePad Pro 5G带来了什么?
5G已经来临,科技产品向5G升级已是大势所趋,这更是检验实力的探索之路. 2月24日,华为在巴塞罗那在线发布了一系列新品,其中,华为面向全球推出的5G高端旗舰平板,同时也是全球首款公开发布的5G平板华 ...
- 404未找到是什么意思_为什么老遇上404 not found?你懂的
文章转载自公众号:一只学霸(bajie203) 昨天晚上 大毛火急火燎地打开了电脑 戴上了耳机 不到两分钟 -- 我们往前一凑 登等 果然是大家最害怕的一幕出现了 学霸在网上冲浪多年 留下的都是美好的 ...
- 《当用户体验设计遇上敏捷》一3.5 小结
本节书摘来自异步社区<当用户体验设计遇上敏捷>一书中的第3章,第3.5节,作者[英]Lindsay Ratcliffe , Marc McNeill,更多章节内容可以访问云栖社区" ...
- 当网络安全遇上大数据分析(9)
2012年3月份,Gartner发表过一篇报告--Information Security Is Becoming a Big Data Analytics Problem .里面主要就讲到了针对大规 ...
- html实体编码遇上js代码
单双引号 在js代码中 在js中单.双引号引起来的是字符串,如果我们要在字符串中使用单.双引号,需要反斜杠进行转义 let str='user\'s name'; // or let str=&quo ...
- SQL SERVER 2008 R2 SP1更新时,遇上共享功能更新失败解决方案
SQL SERVER 2008 R2 SP1更新时,遇上共享功能更新失败的问题,可作如下尝试: 更新失败后,在windows的[事件查看器→应用程序]中找到来源为MsiInstaller,事件ID为1 ...
- 当微信小程序遇上TensorFlow:Server端实现补充
在前面一篇文章<当微信小程序遇上TensorFlow:Server端实现>中,我们探讨了微信小程序server端的实现.今天在调试微信小程序时才发现一个问题,那就是:微信小程序要求HTTP ...
- 当深度学习遇上异构并行计算
当深度学习遇上异构并行计算 近几年来,以深度神经网络(DNN)为代表的深度学习如火如荼,深度学习的研究领域从开始的图像识别(如imagenet比赛)到现在的自然语言处理,几乎有席卷一切机器学习研究领域 ...
最新文章
- 关于机器学习算法的16个技巧
- 机器学习:循环神经网络知识要点
- SDUT 母牛的故事
- matlab中PDE工具箱如何使用,使用PDE工具箱求解偏微分方程
- java精确测量文本高度_Android精确测量文本宽高及基线位置的方法
- 图像处理常用边缘检测算子总结
- linux安装elasticsearch5.5
- 790. Domino and Tromino Tiling
- app测试-兼容性测试与云测试技术
- PHP新闻APP,【优速软件】APP/小程序接口:全部新闻列表,POSCMS,CodeIgniter技术文档,PHP开发文档,迅睿CMS框架官方教程...
- afc系统服务器维护,自动售检票系统AFC中央系统维护员中级业务模型.PDF
- excel处置4000行数据卡_Pandas读取并修改excel的示例代码
- 用matlab求三重积分格式,matlab求三重积分
- 如何将MKV的字幕提取出来
- python excel 填充颜色_pandas to_excel 添加颜色操作
- python创建快捷方式_python创建桌面快捷方式的代码详解
- RDLC报表打印尺寸不匹配的问题
- 2023 IAPP影视解析源码
- 对中国四大名著--红楼梦 使用jieba进行分词处理 排除去停词 统计完整词频并按降序排列 前20词绘制词云图
- BT种子文件格式和Bencoding编码
热门文章
- C语言学习日记(12)——回溯法解迷宫(1)
- 一线主板的电容用料分析
- C语言编程实现求解应力向量,基于MATLAB与Visual+C%2b%2b实现主应力的编程求解.pdf...
- 计算机专业 俄语,俄语计算机专业词汇
- 《惢客创业日记》2019.08.18(周日)网络名词与低智商者的狂欢(三)
- VLAN的划分及设计方案
- 详解2D激光雷达运动畸变去除
- inout的具体使用方法
- 头脑风暴优化算法(Brain Storming Optimization Algorithm, BSO)
- 北京内推 | 联想研究院招聘计算机视觉算法实习生