win10 vs2017编译webrtc

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linux_vae/article/details/81672954

   

目录

VPN的搭建

代码的下载编译

遇到的坑


经过几番的挣扎,最终在win10环境下使用vs2017编译webrtc成功

需要使用vs2017开发者的控制台操作、使用管理员启动控制台

  • VPN的搭建

         编译windows的代码需要VPN翻墙,shadowsock(只支持sock5协议的下载)不支持一些文件的下载,所以需要搭建pptpd服务在国外的阿里服务器上。

            阿里云上开通硅谷的最便宜的服务器,云盘选择20G。如下配置就行,一小时6分钱

            

        搭建VPN可以选择centos或者ubuntu,可以参考阿里云上的文章

             云服务器 ECS Linux Ubuntu 服务器 VPN 配置示例

             如何使用 CentOS 6 实例配置 PPTP VPN 连接

       我使用的是ubuntu14.04 搭建的,搭建过程如果连接不上请设置log文件

1、修改/etc/ppp/options.pptpd中的nologfd,默认没有开,把nologfd注释掉

2、然后添加 logfile /var/log/pptpd.log(将nologfd改成这个,在这个日志里就可以查到pptpd日志)

3、修改后重启下pptpd服务,就可以了

      最后如果windows连接不上的,可能需要使用arp -d -a 命令

          

 

以上,VPN即可用于linux也可以用于windows的连接,如果你能正常的访问google,搭建过程成功了大半。

  • 代码的下载编译

     

    安装 WebRTC 代码下载工具 depot_tools(Google),下载解压就行,最好在C盘根新建webrtc-checkout目录操作:

    http://dev.chromium.org/developers/how-tos/install-depot-tools

         安装vs2017,安装的时候需要选择:其他工具集中的visio studio扩展开发,否则gclient sync 会报错

          安装win10SDK,如果vs2017没有选择安装的话需要安装,并设置环境变量

         据说还要安装DXSDK_Jun10,我也不知道有没有用,反正我装了

         设置环境变量:(因为我是从vs2015配置不行转的vs2017可能有些环境变量不需要也行)

           

GYP_DEFINES=target_arch=x64
GYP_GENERATORS=ninja,msvs-ninja
GYP_MSVS_VERSION=2017
DEPOT_TOOLS_WIN_TOOLCHAIN=0

//这个安装完就有了
DXSDK_DIR=C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\ 
//win10SDK环境
WindowsSdkDir=C:\Program Files (x86)\Windows Kits\10\

PAHT 加上win10SDK的x64 bin目录
C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64;
C:\webrtc_checkout\depot_tools;

          配置完成后,使用gclient命令下载默认的工具,等出现gclient的用法就OK

         在webrtc-checkout目录下新建webrtc目录进入,输入:fetch --nohooks webrtc 获取代码

输入gclient sync同步完成后

gn gen --ide=vs out/Debug    //生成工程
ninja -C out/Debug            //编译

以上基本编译完成。

最后在out/Debug目录下可以找到all.sln打开工程。

  • 遇到的坑

整体的环境是下载的win10镜像,用vmware创建的虚拟机搭建的,分配的磁盘要够,整个搭建基于0开发环境的win10基础搭建。

不要使用win7,一开始使用的是win7上的vs2015搭建,需要自己安装win10SDK,最后也是编不过。

不要使用vs2015编译,如果是2015据说需要用vs2015 update 3才行,因为一开始装的就是vs2015,报了很多错误

如:

libvpx error C2718: '__m128i': actual parameter with requested alignment of 16 won't be aligned

libvpx sum_squares_sse2.c(108): error C2220: warning treated as error - no '

C2718: '__m128i': actual parameter with requested alignment of 16 won't be aligned

error C2228: left of '.data' must have class/struct/union

         关于AssertionError  可以参考https://bugs.chromium.org/p/webrtc/issues/detail?id=7677 这地址,需要使用vs2017开发者的控制台操作

一些错误的解决地址

https://stackoverflow.com/questions/46023981/webrtc-not-building-for-windows-too

https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/_W1qVmGGc4M

既然能翻墙了,出错了就google吧,方法总比困难多,哈哈哈哈

 

猜你喜欢

转载自blog.csdn.net/linux_vae/article/details/81672954