最新版本webrtc源代码在windows上的编译方法

时间:2023-02-06 19:58:46

http://blog.csdn.net/choday/article/details/19978427

分类: webrtc 1893人阅读 评论(8)收藏 举报

当前日期:2014/2/26

找爱好者一起交流QQ:342558790

最新版本webrtc源代码在windows上的编译方法



现在,中国网络上的所有已知的编译方法,均失效了,主要是生成vs工程这一步失效了,现在生成工程,需要set GYP_GENERATORS=msvs 以及call python trunk/webrtc/build/gyp_webrtc -G msvs_version=2010
这是我仔细琢磨官网上的方法得出来的。


下载webrtc源代码以前,需要准备工作,
注意,需要vpn,google的许多ip地址,在中国是不能访问的,必须使用vpn,随便哪个国家都成,我用的是*的,速度不错
如果你没有vpn,想下载webrtc源代码,就不要想了。




需要准备的软件有,git,svn,python,gyp


1.下载安装git和svn,并加入到path环境变量


2.下载depot_tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools


3.下载python
git clone http://git.chromium.org/chromium/deps/python_26.git
或者svn checkout from
https://src.chromium.org/svn/trunk/tools/third_party/python_26/
python执行路径加入到path环境变量,因为编译的过程中需要这东西


4.下载gyp,gyp是python脚本
主页https://code.google.com/p/gyp/
svn checkout http://gyp.googlecode.com/svn/trunk/ gyp-read-only


5.安装gyp到python
在gyp目录下面,执行python setup.py install


6.配置
所需要的软件都下载完了,下面需要配置一下depot_tools,调整一下目录结构
复制git目录到depot_tools\git_bin
必须:复制python目录到depot_tools\python_bin
复制svn的bin目录到depot_tools\svn_bin


新建depot_tools\python.bat
内容为:(depot_tools\bootstrap\win\python.new.bat复制出来也行,注意看需要修改的哟)
[plain] view plaincopy最新版本webrtc源代码在windows上的编译方法最新版本webrtc源代码在windows上的编译方法
  1. setlocal  
  2. set PATH=%~dp0python_bin;%PATH%  
  3. "%~dp0python_bin\python.exe" %*  




注意,svn和git可以不复制到depot_tools,但是python必须复制过来,如果svn和git没有复制过来,那请将这两个执行路径加入到path环境变量中
如果不想加入到path中,就复制到depot_tools并且建立depot_tools\svn.bat,depot_tools\git.bat写法同python.bat


7.下载webrtc源代码,并生成工程
网上讲使用命令行执行gclieng xxxx一类的命令来下载更新webrtc,在windows上你会死得很惨的,会不停地下载git,以及svn,不知道这次depot_tools更新后,是否还会有这问题,我试着修改depot_tools,但是没有成功,太费时间了
于是,你新建一个bat文件,与depot_tools处在同一目录下面
bat中写入以下内容,并且执行,执行完以后,trunk为webrtc的源代码目录,
找个快点的vpn慢慢下载吧,
下载下来的,不只是源代码,还有一些测试资源.十分巨大,以G为单位 .


[plain] view plaincopy最新版本webrtc源代码在windows上的编译方法最新版本webrtc源代码在windows上的编译方法
  1. set PATH=%~dp0depot_tools;%PATH%  
  2. call python depot_tools\gclient.py config https://webrtc.googlecode.com/svn/trunk  
  3. call python depot_tools\gclient.py sync --force  
  4. set GYP_GENERATORS=msvs  
  5. call python trunk/webrtc/build/gyp_webrtc -G msvs_version=2010  



最后一行生成vs工程


如果执行过程中不动,并且显示如下:
________ running 'download_from_google_storage --directory --recursive --num_thr
eads=10 --no_auth --bucket chromium-webrtc-resources trunk/resources' in 'G:\pro
ject\google\webrtc20140224'


这正在下载资源,看下你的宽带占用,就知道正在下载。


8.编译
不建议使用vs2008来编译,因为有些测试工程,不能编译通过,是因为stl版本不对的原因,建立使用vs2010及以上版本.
编译过程中需要的sdk7,direct sdk,自己下载去


我个人比较懒,喜欢使用命令行来编译,我的命令行如下
编译脚本 autocompile10.bat,调用方法call autocompile10 trunk\all.sln Debug



[plain] view plaincopy最新版本webrtc源代码在windows上的编译方法最新版本webrtc源代码在windows上的编译方法
  1. @echo off  
  2.   
  3.   
  4. set _devenv="D:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com"  
  5. set _solution_file="%~dp0%1"  
  6.   
  7.   
  8. echo ====================================== >>"%2_Results.log"  
  9. echo [%DATE% %Time%] Start compile sequence >>"%2_Results.log"  
  10. echo %_solution_file% >>"%2_Results.log"  
  11.   
  12.   
  13. %_devenv% %_solution_file% /build "%2|Win32" /Out "%2_Results.log"  
  14.   
  15.   
  16. if not %errorlevel% == 0 echo stop!!! %_solution_file% failed!   Error: %errorlevel% >>"%2_Results.log"  
  17. if %errorlevel% == 0 echo %_solution_file% compiled successful >>"%2_Results.log"  
  18. if not %errorlevel% == 0 pause  
  19.   
  20.   
  21. echo [%DATE% %Time%] Finished compile sequence >>"%2_Results.log"  
  22. echo ====================================== >>"%2_Results.log"  
  23. echo +>>"%2_Results.log"  
  24. echo +>>"%2_Results.log"  
  25. echo +>>"%2_Results.log"  











编译中需要注意,
如果你下次打开电脑,再次编译的时候,出现错误,什么什么找不到,请执行webrtc源代码,\trunk\third_party\cygwin\setup_mount.bat





备注:
build for android http://www.webrtc.org/reference/getting-started
$ echo "target_os = ['android', 'unix']" >> .gclient
$ gclient sync --nohooks
$ cd trunk
$ source ./build/android/envsetup.sh
$ JAVA_HOME=<location of Java SE 6 - JDK>