WebRTC编译过程.doc_第1页
WebRTC编译过程.doc_第2页
WebRTC编译过程.doc_第3页
WebRTC编译过程.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

WebRTC编译过程 (一).安装 depot_tools/developers/how-tos/install-depot-toolsWindows1. Downloaddepot_tools.zipand decompress it. 或者TortoiseSVN更新: svn co /svn/trunk/tools/depot_tools2.Adddepot_toolsto theend(not start!) of your PATH -System Properties, Advanced properties, Environment Variables, modify the Path system variable. 系统重启即可。(最好关闭win7防火墙)Linux and Mac提前先安装好git和subversion!安装git(不要自己去官网下载make,直接 sudo apt-get install git git-core 来安装Git程序,或者到新立得软件包里面 输入 git然后安装)ubuntu下的SVN安装十分简单,sudo apt-get install subversion1. Grab the checkout with one of: non-committers (to depot_tools): svn co /svn/trunk/tools/depot_tools2. Add depot_tools to your PATH: export PATH=$PATH:/home/grant/programfiles/depot_toolsYou may want to add this to your .bash_aliases file or your shells equivalent so that you dont need to reset your $PATH manually each time you open a new shell.(二).安装gitwindows版本,去git官网下,安装时选择添加环境变量。此外,安装Microsoft SDK 7.1Microsoft DirectX SDK (务必保证: Verify MSVC|Tools|Options|Projects and Solutions|VC+ Directories has Include:$(DXSDK_DIR)includeand Lib:$(DXSDK_DIR)libx86. Make sure the DirectX include directories appearfirst in the search path, otherwise you may get build errors.) 然后如下所述:Create a working directory, enter it, and run:$ gclient config /svn/trunk (不能添加.)第一次会自动下载安装subversion和python. 此步会在新建的WebRTC目录下生成一个.gclient文件。$ gclient sync -force下载完毕后,即可生成各个VisualStudio2008工程文件。后续更新时也尽量采用gclient sync -force 而不是用subversion update.+ 参考文献: c).创建webrtc工作目录,并在该目录下运行: gclient config /svn/trunk gclient sync -force sync命令也会产生基于本地环境(Linux:make, OSX: XCode, Windows: Visual Studio)的build文件。 也可以用命令: gclient runhooks -force 对windows平台,在trunk目录下,已经有针对Visual Studio的工程文件: webrtc.sln 好了,打开它,这就可以编译了。 注:webrtc默认使用了C:/Program Files/Microsoft SDKs/Windows/v7.1/Samples/multimedia/directshow/baseclasses。我的机器上只有v7.0的sdk,于是构造了一个v7.1的目录,仅包含Samples/multimedia/directshow/baseclasses。+参考 Chrome在Visual Studio 2005下的编译过程可以了解google源代码的风格在下载Chrome代码前,需要安装下面几个软件:1.安装VisualStudio2005.2.安装VisualStudio2005ServicePack1.3.安装热补丁Hotfix947315.4.如果操作系统是Vista,还需要安装VisualStudio2005ServicePack1UpdateforWindowsVista。5.安装Windows2008SDK。按照网上说法,如果是VisualStudio2008,就不需要安装这个了。6.配置Windows2008SDK。在开始-程序-MicrosoftWindowsSDKv6.1VisualStudioRegistrationWindowsSDKConfigurationTool.。选择makecurrent按钮,幸运的话,应该能一次成功。如果不能成功,Chrome官方网站上有一个手动配置的帮助,大家可以参考。下载代码Google为Chrome提供了一个部署工具depot_tools,包括下载代码、同步代码、上传代码等功能。这个工具采用Python编写的,其中还包含了一些Javascript脚本。Depot_tools中包含了一个gclient工具,是我们需要关注的重点。下载代码有几种方式:1.Chrome官网上提供了一个源代码包,可以直接下载下来。不过这个包并不是最新的包。我采用的是这种方法进行下载的,相对来说比较快。2.采用SVN客户端工具进行下载,比如TortoiseSVN客户端工具,SVN服务器地址是/svn/trunk/src。3.采用google提供的depot_tools工具。l下载和安装depot_tools。l把depot_tools的安装目录设置到系统目录(系统Path环境变量)中。l创建一个存放Chrome代码的目录,比如d:/chrome。目录不要包含空格。l在命令行下,先将当前目录切换到chrome代码的目录,例如上面的(d:/chrome)。l运行gclientconfig/svn/trunk/src命令。Gclient将会先下载svn工具和python工具,然后调用svn进行代码同步。注意:gclient中下载svn和python采用的是javascript实现。如果在需要设置proxy的环境中,则需要需要修改一下脚本。+ 最后在线翻阅了chrome的开发group论坛,才知道Chrome确实作了修改,原来代码中的那些.sln、.vcproj文件全部抛弃了,google自己开发了一个脚本工具GYP工具,这个工具也是采用python编写的。GYP采用了自定义的一套规则,用于生成各种工程文件。我们可以看一下下面这个gyp文件。includes:././build/common.gypi,targets:target_name:memory_watcher,type:shared_library,msvs_guid:3BD81303-4E14-4559-AA69-B30C3BAB08DD,dependencies:././base/base.gyp:base,defines:BUILD_MEMORY_WATCHER,include_dirs:./.,sources:call_stack.cc,call_stack.h,dllmain.cc,hotkey.h,ia32_modrm_map.cc,ia32_opcode_map.cc,memory_hook.cc,memory_hook.h,memory_watcher.cc,memory_watcher.h,mini_disassembler.cc,preamble_patcher.cc,preamble_patcher.h,preamble_patcher_with_stub.cc,其实这个文件的内容和visualstudio2005中的.vcproj文件虽然有比较大的差别,但是描述的东西没有太大变化,更简单更简洁一些而已。无非描述了工程的文件,编译设置等内容。下面描述一下编译步骤:1.运行命令行工具。2.切换到Chrome主目录下(我的电脑是d:/chrome目录)。3.执行gclientrunhooks-force。这个命令将会调用GYP工具,对Chrome.gyp进行解析,生成各个VisualStudio2005工程文件。4.双击chrome/chrome.sln文件,即可打开VisualStudio2005,一共有215个工程,非常庞大。 右键选择解决方案,选择生成解决方案,编译开始了。这个过程在我的本本里是持续了2个小时左右+在我编译的过程中主要遇到的几个问题:1.公司有VisualStudio2005,可是因为Proxy的原因,depot_tools工具无法进行,为了突破proxy的限制,花了不少力气。 2. Chrome工程组织方式发生了变化,但在官网上没有更新,网上其他的资料都是基于旧的版本介绍,所以在适应新的gyp方式方面花了不少力气。+/9856226/blog/item/fd2f3c4af0ed6afb83025c12.html分析了一下gclient.bat,其实就是干两件事 1)下载/svn/trunk/tools/third_party/svn_bin.zip 2)下载/svn/trunk/tools/third_party/python/这个目录 原来里面有一段代码写反了,应该是先检查是否auto_updata: : Shall skip automatic update? IF %DEPOT_TOOLS_UPDATE% = 0 GOTO :SKIP_UPDATE : We cant sync if .svn. doesnt exist. IF NOT EXIST %dp0.svn. GOTO :SKIP_UPDATE再去下载svn和python: : Will download svn and python. : If you dont want to install the depot_tools version of these tools, remove : t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论