下載了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
在某篇對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的工程文件了。
注:設置環境變量後,需要重新打開命令行工具,否則當前命令行是找不到新添的環境變量的。