下载了WebRTC,结果发现 webrtc.sln is missing. 没法编译,郁闷。

我之前用的是VS express,结果出了一堆没法解决的错,后来换成了VS2010,结果老硬盘坏掉了,买了新硬盘也没有敢再试VS2010,看网上有人是用VS2005编译成功的,于是便试了一下VS2005,编译也不好使,还是有错,在网上看了文章,需要安装SP1,安装后重启机器,peerconnection_server编译成功了,但Client端还有如下错误:

uuid.lib(functiondiscovery.obj) : fatal error LNK1103: debugging information corrupt; recompile module,再接再励,搞定WebRTC。

刚发现微软有个hotfix, https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=18623

安装后,成功编译链接。

******

以下是转载阮良的博客,关于如何在Windows下编译WebRTC。感谢匿名游客的推荐。

http://white313.blog.163.com/blog/static/2102620116314827580/?latestBlog

编译WebRTC

2011-07-03 14:12:13|  分类: 技术 |  标签:webrtc 

 
在某篇对google敬仰的日志中,已经提到过WebRTC,具体介绍不不说了,网上一大摞,今天讲讲怎么编译WebRTC。
 
在 项目源码中,并没有直接提供解决方案(sln)和工程文件,是因为WebRTC和Chromium一样,使用了depot_tools这个工具用来自动生 成项目文件。Google也能搜索出一堆的编译方案,但基本上就是对https://sites.google.com/site/webrtc /reference/getting-started的翻译。其实还应该有几个前置步骤,由于depot_tools需要用到python,svn和 git,所以必须安装这几个软件,如果没做的话,是无法正确得到工程文件进行编译的,下面是适合小白的完整步骤:
 
1. 下载安装svn客户端,例如TortoiseSVN
    安装完后,svn执行目录自动被添加入系统环境变量PATH中。
 
2. 下载并安装msysgit和Tortoisegit
    msysgit:http://code.google.com/p/msysgit/downloads/list
                选择Git-1.7.4-preview20110204.exe,下载并安装
    Tortoisegit:http://code.google.com/p/tortoisegit/downloads/list
                选择适合自己系统的版本,下载并安装(注:Tortoisegit只是一个gui,必须安装msysgit)
                Tortoisegit安装时会找到git目录并自动配置好。
    把msysgit中bin目录手动添加到系统环境变量PATH中,比如我的目录是“D:/Program Files/Git/bin”
    
3. 下载并安装Python,建议安装Python2.6
    安装后Python执行目录自动被添加入系统环境变量PATH中。
 
4. 下载并配置depot_tools
    建立一个存放depot_tools的目录,command进入该目录
    svn co http://src.chromium.org/svn/trunk/tools/depot_tools
    下载后把depot_tools目录手动添加到系统环境变量PATH中
 
5. 建立WebRTC的源码目录
    比如D:/WORK/OTHER/WebRTC/
 
6. 打开cmd,进入第5步建立的源码目录
 
7. 执行:  gclient config https://webrtc.googlecode.com/svn/trunk
        或者 gclient.bat config https://webrtc.googlecode.com/svn/trunk
 
8. 执行:  gclient sync --force
        或者 gclient.bat sync --force
 
9. 执行:  gclient runhooks --force
        或者 gclient.bat runhooks --force
 
10. 源码目录下应该已经含有webrtc.sln
注:webrtc 会用到Windows SDK 7.1,如果不想安装SDK,可以从这里下所依赖的文件:svn co http://vsfiltermod.googlecode.com/svn/trunk/src/BaseClasses,然后把文件放置在这个路 径:C:/Program Files/Microsoft SDKs/Windows/v7.1/Samples/multimedia/directshow/baseclasses (感谢乐得思蜀的方案)
       我的系统为Windows 7 32bit,不知为何在第8步只能执行gclient.bat sync --force才成功,直接执行gclient sync --force无法成功。
       另外如果你只安装了Visual Studio 2010,那么在gclient sync --force执行到最后会提示"Do not know how to convert MSVS attribute UseOfMFC",可能对2010支持还不好,因为我系统里还有Visual Sduidio 2005,所以没有碰到这个问题,但是不用担心,因为最终的webrtc.sln照样会生成的,不影响看代码。
       如果遇到git --version return 1错误,应该是git目录没配置到PATH环境变量中,配置好后重启机器。
 
---------------------------------------------------华丽的分割线------------------------------------------------------
以上即为Windows下面的步骤,下面提供Mac OS X上的步骤:
1. 安装svn
    Mac OS X Leopard已经默认安装了svn
 
2. 安装git
    从http://code.google.com/p/git-osx-installer 上下载最新安装包,安装即可
 
3. 安装python
   Mac OS X Leopard已经默认安装了Python 2.6.1
 
4. 下载并配置depot_tools
    建立一个存放depot_tools的目录,command进入该目录
    svn co http://src.chromium.org/svn/trunk/tools/depot_tools
    下载后把depot_tools目录手动添加到系统环境变量PATH中:
    sudo vim /etc/paths
    把depot_tools的目录写入paths,保存该文件
 
5、6、7、8、9步骤和windows上的操作步骤一样(第8步执行gclient sync --force)
 
10. 源码目录下应该已经有xcode的工程文件了。
 
注:设置环境变量后,需要重新打开命令行工具,否则当前命令行是找不到新添的环境变量的。