windows下webrtc的编译 2016(转)
====================20160124更新=============================
推荐一个翻墙工具,shadowsocks,是需要付费的,一年也才不到100块,移动端也可以使用,而且不同于goagent这种只能在浏览器端使用的工具,它可以提供全局模式的代理,下载webrtc非常方便快速。
在使用gclient sync之前,需要以管理员身份打开一个命令行,设置以下内容
set GYP_DEFINES=target_arch=x64
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_GENERATORS=msvs-ninja,ninja
set GYP_MSVS_VERSION=2013
参考的是这篇文章。
分享一个我在2016年1月初下载的源码,带vs2013 sln
https://yunpan.cn/cr2RGjuxE4ktX 访问密码 9dcd
=============================================================
webrtc工程的最大问题在于需要翻墙从谷歌服务器上下载大量的内容,速度很慢,容易出错,因此推荐直接从国内网盘下载已编译或未编译的版本,这里推荐两个实验证明可用的、较新的、已编译的版本,
下载链接:http://pan.baidu.com/s/1mgj1lri
http://yunpan.cn/lk/QaEQc5MJUZncQ (提取码:a480)
以下的操作说明均基于上述工程,其他版本的流程基本相同。
1、webrtc工程只支持win7 64位或更新版本,不支持32位系统
2、安装python并将安装目录添加到环境变量中
3、安装windows SDK 8.1,下载 https://developer.microsoft.com/en-us/windows/downloads/windows-8-1-sdk
4、安装Visual Studio 2013 Update 4 Community或Professtional版本,确保安装了MFC模块,不支持Visual Studio Express版本
5、安装DirectX SDK June 2010,安装完成后可能会报错,错误代码“s1023”,这是因为与系统已有的visual c++ redistributable packages版本冲突,不用管它,直接退出安装程序即可。这里我们需要的只是安装目录下的头文件和库。
6、安装WinDDK即驱动程序工具包,这里我们需要的主要是PATH\WinDDK\7600.16385.1\lib\ATL\amd64下的atlthunk.lib库, 下载 http://www.microsoft.com/en-us/download/confirmation.aspx?id=11800。
7、更改系统区域设置,在控制面板中找到区域和语言->管理->非Unicode程序的语言->英语
8、至此,所有的准备工作都已完成,可以打开工程目录下的all.sln进行编译了。
一般这时还会报如下错误:
1、警告被视为错误 - 没有生成“object”文件。
解决办法:改变项目的属性,把否警告被视为错误设为 “否(/WX-)”,有很多个工程需要设置
2、无法解析的外部符号 _intel_aes_encrypt_init_128,该符号在函数 _aes_InitContext 中被引用。
解决办法:把nss_static项目预处理器定义中的USE_HW_AES和INTEL_GCM去掉
3、error LNK2005: "class ATL::CAtlWinModule ATL::_AtlWinModule" (?_AtlWinModule@ATL@@3VCAtlWinModule@1@A) 已经在 libjingle_media.lib(win32devicemanager.obj) 中定义。
解决办法:在peerconnection_client项目的链接器->命令行中加入:/FORCE:MULTIPLE
4、error MSB3721: 命令“call python "..\..\tools\swarming_client\isolate.py" "check" "--result" "..\..\build\Debug\common_audio_unittests.isolated" "--isolate" "common_audio_unittests.isolate" "--path-variable" "DEPTH" "..\.." "--path-variable" "PRODUCT_DIR" "..\..\build\Debug\ " "--config-variable" "OS=win" "--config-variable" "chromeos=0" "--config-variable" "component=static_library" "--config-variable" "internal_gles2_conform_tests=0" "--config-variable" "icu_use_data_file_flag=1" "--config-variable" "use_openssl=0"”已退出,返回代码为 1。
解决办法:如前所述,在控制面板中找到区域和语音->管理->非Unicode程序的语言->英语
5、无法找到system_wrappers_default.lib文件,到src\build\Debug\lib 目录下。
解决办法:把编译出来的system_wrappers.lib复制一份并改名为 system_wrappers_default.lib
注意:工程中除了webrtc的核心代码外,还包含有大量的示例工程,所以若在直接全部编译时出现大量的重复错误,又不想一个一个地全部修正的话,可以找准需要的项目单独编译,单独修改。还有的时候,可能会在编译时发现很多工程都缺少同一个库,这样的话如果一个一个给这些工程添加这些库又很麻烦,可以右键工程-属性-配置属性-c/c++-附加包含目录或连接器-常规-附加库目录,webrtc中所有工程几乎都会有相同的附加包含目录,于是可以将缺失的库直接放入这样的附加包含目录中,再次编译时就会自动去这些目录下寻找相应文件了。
另外如果实在想用传统方法下载webrtc并进行编译的话,推荐参考这篇文章《WebRTC@第二章@编译Windows版@V1.0.0》
原文转自 http://blog.csdn.net/nonmarking/article/details/46785197
windows下webrtc的编译 2016(转)的更多相关文章
- 手把手教你在Windows下使用MinGW编译libav(参考libx264的编入)
转自:http://www.th7.cn/Program/cp/201407/242762.shtml 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言 ...
- 【转】Windows下使用VS2008编译OpenCV 2.1 添加Intel TBB和Python支持
Windows下使用VS2008编译OpenCV2.1 添加Intel TBB和Python支持 步骤: 1.仔细阅读OpenCV官网上的InstallGuide:http://opencv.will ...
- 实践详细篇-Windows下使用VS2015编译的Caffe训练mnist数据集
上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下 ...
- windows下用vs2010编译ffmpeg
转载自;http://q1q2q3q4q5q6ln.blog.163.com/blog/static/500794332014666536283/ (注意:请务必先阅读:七,后记补充:) ffmpeg ...
- Windows下从源代码编译Skia
在PPAPI里面画图,能够结合第三方的图形库.比方Cairo.Skia. Google Chrome.Chromium和Android都使用Skia作为画图引擎.我也来试试Skia,先过编译关. fo ...
- Windows 下使用 GNUstep 编译并运行 Objective-C 程序
今晚上开始看<Objective-C 程序设计(第4版)>这本书(OSChina 正在做此书的书评活动,详情请看这里),到现在为止看到第 7 章,于是想动手试试写两简单的程序编译跑跑看. ...
- 在windows下使用vs2013编译和调试mysql源代码
1. 准备工作 1)OS:win10 + VS2013 2)mysql 源码(windows版):mysql-5.6.25.zip 3)perl tool:ActivePerl-5.16.3.1604 ...
- windows下使用cmake编译zlib与libpng libjpeg
win7下使用VS2010编译jpeglib 1.下载源代码下载地址:http://www.ijg.org/files/, 选择最新版本的windows版本压缩包,进行下载. jpeg ...
- Windows下使用Rtools编译R语言包
使用devtools安装github中的R源代码时,经常会出各种错误,索性搜了一下怎么在Windows下直接打包,网上的资料也是参差不齐,以下是自己验证通过的. 一.下载Rtools 下载地址:htt ...
随机推荐
- 为什么方差的分母有时是n,有时是n-1 源于总体方差和样本方差的不同
为什么样本方差(sample variance)的分母是 n-1? 样本方差计算公式里分母为n-1的目的是为了让方差的估计是无偏的.无偏的估计(unbiased estimator)比有偏估计(bia ...
- dSYM文件
来到新公司后,前段时间就一直在忙,前不久 项目 终于成功发布上线了,最近就在给项目做优化,并排除一些线上软件的 bug,因为项目中使用了友盟统计,所以在友盟给出的错误信息统计中能比较方便的找出客户端异 ...
- js函数节流和函数防抖
概念解释 函数节流: 频繁触发,但只在特定的时间内才执行一次代码 函数防抖: 频繁触发,但只在特定的时间内没有触发执行条件才执行一次代码 函数节流 函数节流应用的实际场景,多数在监听页面元素滚动事件的 ...
- 前端开发面试题之JavaScript(转自公众号)(1)
js基本数据类型:Undefine Number Null Boolean String; js内置对象:数据封装类对象:object.Array.Boolean.String: 其他:Functio ...
- jenkins+svn+pipeline+kubernetes部署java应用(一)
一.linux安装svn服务端 yum -y install subversion 二.创建svn版本库(项目仓库) mkdir -p /home/svn svnadmin create /home/ ...
- 文件处理seek以及修改内容的两种方式
f.seek(offset,whence)offset代表文件的指针的偏移量,单位是字节byteswhence代表参考物,有三个取值# 0:参照文件的开头# 1:参照当前文件指针所在位置# 2: 参照 ...
- APP客户端图片上传PHP接口
1.客户端 file_get_contents($_FILES['img']['tmp_name']) //获取临时目录下的上传文件流,加密传给接口 2.接口处理端 $img = file_get ...
- 消息中间件ActiveMQ及Spring整合JMS
一 .消息中间件的基本介绍 1.1 消息中间件 1.1.1 什么是消息中间件 消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成.通过提供消息传递和消息排 ...
- UVa - 1593 Unix ls(STL)
给你一堆文件名,排序后按列优先的方式左对齐输出. 假设最长文件名长度是M,那么每一列都要有M+2字符,最后一列有M字符. inmanip真NB..orz #include <iostream&g ...
- poj 2236 网络连接问题 并查集
题意:n台电脑,当两台之间的距离小于d的时候可以连接. 题目会进行操作“修复”还有“查询是否已经连接”.只要在查询的时候输出YES或者ON 思路: 把可以相互连接的 即两者之间的距离小于 d q[i ...