webRTC在Win7 VS2015下的编译和生成

一、辅助工具下载与安装
1. VS2015
需要是Visual studio 2015 update2版本,webrtc只支持这个版本;

2. SVN
下载TortoiseSVN工具
http://sourceforge.net/projects/tortoisesvn/

3. GIT
下载TortoiseSVN工具
http://sourceforge.net/projects/tortoisesvn/

4. 下载安装SDK 7.1和directx
SDK 7.1:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8279

DirectX SDK:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6812

5 WDK
从微软的官网下载,并安装。
在很多项目中会用到atlthunk.lib文件,新建WDK_DIR系统环境变量值为WDK的安装目录,
例如C:\WinDDK\7600.16385.1\lib\ATL\i386。修改后需要重启VS

6. IE10
这个是需要的。

7. python
安装Python,然后把python安装目录加入到系统PATH的环境变量中,修改后需要重启VS,
从下面的网址下载并安装:
https://www.python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi

二、depot_tools
取得depot_tools, 选择以下方式:
 . 只读签出(如果你不打算立刻提交你改动过的代码,你应该选择这个):
   svn checkout https://src.chromium.org/svn/trunk/tools/depot_tools      

把depot_tools目录加入你的环境变量中:
如果有管理员的访问权限:
  Control Panel > System and Security > System > Advanced system settings
  Modify the PATH system variable to include depot_tools

如果没有管理员的访问权限:
Control Panel > User Accounts > User Accounts > Change my environment variables
Add a PATH user variable: %PATH%;C:\path\to\depot_tools

三、代码下载并编译
编译之前要更改系统的语言
在控制面板中找到区域和语音->管理->非Unicode程序的语言->英语 

1. 代码下载
需要使用翻墙代理下,我用的是这个https://www.nydusvpn.wang/;
虽然经常断,但也凑合能用吧!

2. VS工程文件生成
在cmd工作模式下,到刚下载的源码文件中
> cd src
> set DEPOT_TOOLS_WIN_TOOLCHAIN=0
> set GYP_GENERATORS=msvs
> set GYP_MSVS_VERSION=2015
> python webrtc/build/gyp_webrtc.py

NOTE:
a)要用 set GYP_GENERATORS=msvs, 不要用> set GYP_GENERATORS=ninja,msvs-ninja
   会报大量的编译错误
b) 网上下载的各种未生成工程文件的源码也可以这个方法进行工程文件生成;

3. 错误提示与处理
1). 错误提示:
Error 1 error LNK1104: cannot open file 
'D:\webrtc\google_native\webrtcInWin7\webrtc-9540-d92f267-windows\src\build\Debug\lib\system_wrappers_default.lib'
D:\webrtc\google_native\webrtcInWin7\webrtc-9540-d92f267-windows\src\webrtc\tools\LINK force_mic_volume_max

解决办法:
是因为工程没有导出类,在工程 system_wrappers_default  下添加如下两个文件:
// system_wrappers_default_test.h
extern "C" __declspec(dllexport) class system_wrappers_default_test
{
public:
system_wrappers_default_test();
~system_wrappers_default_test();
};

// system_wrappers_default_test.cpp
#include "system_wrappers_default_test.h"  
system_wrappers_default_test::system_wrappers_default_test()
{
}

system_wrappers_default_test::~system_wrappers_default_test()
{
}

或者:
到src\build\Debug\lib 目录下。
把编译出来的system_wrappers.lib复制一份并改名为 system_wrappers_default.lib

2). 错误提示:
Error 2 error LNK1104: cannot open file 
'D:\webrtc\google_native\webrtcInWin7\webrtc-9540-d92f267-windows\src\build\Debug\lib\gtest_prod.lib' 
D:\webrtc\google_native\webrtcInWin7\webrtc-9540-d92f267-windows\src\talk\LINK peerconnection_client

解决办法:
其实是因为gtest_prod这个工程没有导出类,所以其就不生成lib,
所以,可以在gtest_prod工程下添加下面的两文件,导出类就OK了。

如下:
// Test123.h  
extern "C" __declspec(dllexport) class Test123  
{  
public:  
    Test123();  
    ~Test123();  
};  
  
// Test123.cpp  
#include "Test123.h"  
Test123::Test123()  
{  
}  
  
Test123::~Test123()  
{  



3). 错误提示
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程序的语言->英语 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
在Windows 10上编译WebRTC可以按照以下步骤进行: 1. 首先,确保你的系统已经安装了Visual Studio。WebRTC在Windows上的编译需要使用Visual Studio环境。 2. 下载depot_tools,它是一个用于下载WebRTC源代码的工具。可以在GitHub上找到depot_tools的源码,并按照文档中的步骤进行安装。 3. 打开命令提示符或PowerShell,并导航到你想要保存WebRTC源代码的文件夹。 4. 使用以下命令克隆WebRTC的代码仓库: ``` git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git ``` 5. 添加depot_tools到系统的环境变量中。在命令提示符或PowerShell中,输入以下命令: ``` set PATH=%PATH%;[depot_tools目录的路径] ``` 这将使你能够在任何目录中使用depot_tools中的命令。 6. 使用以下命令下载WebRTC的源代码: ``` fetch --nohooks webrtc ``` 此命令将下载WebRTC的源代码到当前文件夹下的src目录中。 7. 进入src目录,并使用命令执行Hook脚本以获取编译所需的依赖项: ``` cd src gclient runhooks ``` 8. 接下来,根据你的编译需求选择合适的方案,并使用gn生成构建配置文件。 如果你想做一个默认构建,可以使用以下命令: ``` gn gen out/Default ``` 如果你想构建一个调试版本,可以使用以下命令: ``` gn gen out/Debug --args="is_debug=true" ``` 构建配置文件将生成在out/Default或out/Debug目录中。 9. 最后,使用ninja命令来编译WebRTC: ``` ninja -C out/Default ``` 或者,如果你选择了调试版本: ``` ninja -C out/Debug ``` 这将编译WebRTC生成可执行文件和库文件。 以上是在Windows 10上编译WebRTC的简要步骤。请注意,这只是一个概述,实际操作可能会根据具体环境有所不同。在实际操作中,请根据WebRTC项目的文档和最新的指南进行操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北雨南萍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值