web端用webRTC实现的一对一视频,互动直播和会议。https://github.com/starrtc/android-demo

Chromium requires Visual Studio 2017 (15.7.2) to build.
错误:Exception: Visual Studio Version 2017 (from GYP_MSVS_VERSION) not found.
安装“使用C ++进行桌面开发”组件和“MFC和ATL支持”子组件。
您必须安装版本10.0.17134 Windows 10 SDK。可以通过选中Visual Studio Installer中的相应框来安装。
还必须安装SDK调试工具(The SDK Debugging Tools)。如果通过Visual Studio安装程序安装了Windows 10 SDK,则可以通过以下方式安装它们:控制面板→程序→程序和功能→选择“Windows软件开发工具包”→更改→更改→检查“Windows调试工具(Debugging Tools For Windows)” “→改变。
安装 depot_tools
添加PATH,放在开头
DEPOT_TOOLS_WIN_TOOLCHAIN system variable in the same way, and set it to 0.
这告诉depot_tools使用本地安装的Visual Studio版本(默认情况下,depot_tools将尝试使用google内部版本)
GYP_MSVS_VERSION = 2017
GYP_MSVS_OVERRIDE_PATH = D:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise
  • Click on “Indexing Options也可以在控制面板中打开索引选项” that should come up in the search
  • When the Indexing Options box comes up, Click on the Modify button. This will pop up an Indexed Locations dialog, where you should see a list of some “locations”, with your hard drive(s) being in the list.
  • Expand the desired hard drive, down to the root folder of the files you’re using SVN with, and make sure the box is unchecked. Also note that the hard drive will most likely be collapsed, and will have its box unchecked, even though once you expand it, you may find checked boxes.
如果有其它版本python,最好先卸载掉
From a cmd.exe,  run the command gclient (without arguments). On first run, gclient will install all the Windows-specific bits needed to work with the code, including msysgit and python.
where python
获取代码
首先,配置Git
$ git config --global user.name "My Name" $ git config --global user.email "my-name@chromium.org" $ git config --global core.autocrlf false $ git config --global core.filemode false $ git config --global branch.autosetuprebase always
mkdir chromium && cd chromium
如果您不想要完整的仓库历史记录,可以通过添加--no-history标记来节省大量时间
fetch --no-history chromium
webrtc 下载只需要把chromium改成webrtc即可,chromium大概有10几个G,webrtc有6个G左右。
中间断了的话,可以通过gclient sync来同步代码
The remaining instructions assume you have switched to the src directory
cd src
use GN to generate .ninja files.
gn gen out/Default
out目录是可以删除的,刚开始是空的
autoninja -C out\Default chrome
(花了将近5个小时编译出来了 chrome.exe 不过又多出来了50多个G的编译临时文件,在out目录)
传递给Ninja,前面没有“//”(因此//chrome/test:unit_tests使用ninja -C out / Default chrome / test:unit_tests`)。
run the browser:
$ out\Default\chrome.exe
update an existing checkout, you can run
在 src同级目录
$ git rebase-update $ gclient sync
生成vs2017解决方案:
$ gn gen --ide=vs out\vs $ devenv out\Default\all.sln
之前就有4701多个projects
will be very slow to load.
gn gen --ide=vs --filters=//chrome --no-deps out\Default
其它:--filters=//chrome;//third_party/WebKit/*;//gpu/*
错误:
Exception: Visual Studio Version 2017 (from GYP_MSVS_VERSION) not found.
please supply those settings in a .boto file pointed to by the NO_AUTH_BOTO_CONFIG environment var.
这个一般是running hooks造成的
在src/DEPS的hooks = [ 区域里面,这个主要下载一些文件
Run hooks to fetch everything needed for your build setup.
gclient runhooks
Failed to fetch file gs://chromium-gn/22d302b1658a293a4997205350751ff309b138c9 for src/buildtools/win/gn.exe,
gn.exe.sha1里面内容为
22d302b1658a293a4997205350751ff309b138c9
gs:// 替换为 https://storage.googleapis.com/ 就可以直接在浏览器下载了。前提当然是你还开着翻墙代理。所以任务就变成了下载下面这个地址的文件到刚刚那个目录。
放在src同级目录下
chmod +x ./gs
./gs src/DEPS
windows下
node gs.js src/DEPS
_downloader_worker_thread使用封装类gsutil实现对google云存储的访问。上述代码中file_url代表下载的url,是gs://格式的。该方法首先采用gsutil.check_call('ls', file_url)检查目标文件是否存在,之后采用gsutil.check_call('cp', file_url, output_filename)将file_url下载到目标文件output_filename。
上述的方法均要访问gs://,我们的代理目前访问不了这个地址,
You have unstaged changes.
Please commit, stash, or reset.
gclient sync -f
Failed to fetch file gs://chromium-clang-format/c8455d43d052eb79f65d046c6b02c169857b963b for src/buildtools/win/clang-format.exe
gs://chromium-browser-clang/rc/ba51d69039ffb88310b72b6568efa9f0de148f8f for src/build/toolchain/win/rc/win/rc.exe
gs://chromium-fonts/a22de844e32a3f720d219e3911c3da3478039f89 for src/third_party/test_fonts/test_fonts.tar.gz
并解压
gs://chromium-browser-clang/orderfiles/f7e302e7d120961ef0cda7faeb1f53bcdad01a33 for src/chrome/build\chrome_child.x86.orderfile
gs://chromium-browser-clang/orderfiles/a0ff6a0859090f8a990b54acf18310a9bd8b2c85 for src/chrome/build\chrome_child.x64.orderfile
错误2
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position
mimetypes.py文件
if sys.getdefaultencoding() != 'gbk':
reload(sys)
sys.setdefaultencoding('gbk')
chromium的编译和webrtc的编译方式相同,webrtc官网也是使用的chromium的编译文档

在windows上编译chrome浏览器Building Chromium for Windows的更多相关文章

  1. 在ubuntu上编译chrome

    在ubuntu上编译chrome 在ubuntu上编译chrome 红心地瓜 1.获取代码 1)下载tarball,http://chromium-browser-source.commondatas ...

  2. 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法

    这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...

  3. [ZZ] 在windows上编译Mesa3d opengl32库

    在windows上编译Mesa3d opengl32库 cheungmine http://blog.csdn.net/ubuntu64fan/article/details/8061475 Mesa ...

  4. 如何在 Windows上编译Objective-C

    Objective-C现在几乎已经变成了苹果的专利了,可以直接在苹果的Xcode上编译Objective-C程序,但是在Windows平台下的编译工具就寥寥无几了,本身这种语言用的人就不是很多.今天在 ...

  5. 利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl

    利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl 首先mingw的环境搭建,务必遵循下文: http://blog.csdn.net/ubuntu64fan/ar ...

  6. 在windows上编译wireshark源代码

    终于在windows上成功编译了wireshark源代码,个中酸辛,都是泪..只能说要多试! windows上编译wireshark共用到三个东西:wireshark源代码.python.cygwin ...

  7. 在windows 上编译部署Rap2

    在windows 上编译部署Rap2 引言 安装需要的环境 安装后端站点 创建数据库 在全局安装pm2 和 typescript 配置mysql,redis 数据库链接配置 初始化 编译 初始化数据库 ...

  8. 写一个Windows上的守护进程(6)Windows服务

    写一个Windows上的守护进程(6)Windows服务 守护进程因为要开机启动,还要高权限,所以我就把它做成Windows服务了. 关于Windows服务的官方文档,大家可以看https://msd ...

  9. 在Ubuntu上安装Chrome浏览器和ChromeDriver

    启动脚本后报错 selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable may have w ...

随机推荐

  1. ashx 文件的运用

    ASP.NET中有一种这样格式的文件ashx文件,作什么用的呢?如果你想创建一个ASP.NET文件,它不是aspx文件,它能动态的返回一个图片.XML文件或其他非HTML文件.那就使用ashx文件了. ...

  2. 小程序基础能力~自定义 tabBar

    自定义 tabBar 基础库 2.5.0 开始支持,低版本需做兼容处理. 自定义 tabBar 可以让开发者更加灵活地设置 tabBar 样式,以满足更多个性化的场景. 在自定义 tabBar 模式下 ...

  3. 关于ServletContext的私有方法全局获取返回null问题getServletContext().setAttribute("count", 1)

    1.在Servlet重写了init方法中获取getServletContext()报错提示为空指针 重写了init(ServletConfig)方法,但是重写的init方法内部没有调用super.in ...

  4. Redis-3.2.1集群内网部署

    摘要: Redis-3.2.1集群内网部署 http://rubygems.org国内连不上时的一种Redis集群部署解决方案.不足之处,请广大网友指正,谢谢! 一. 关于redis cluster  ...

  5. [Schematics] 1. Copy and Manipulate Template

    1. Create a src/my-component/files/src/app directory to hold your templates. mkdir -p src/my-compone ...

  6. php获取时期时间信息函数

    在正式学习日期函数前大家得了解几个概念: 1.时区 2.世界时 3.unix时间戳 时区 这个概念,之前大家听说过很多.我们来啰嗦两句,我们现实生活中使用的实区,在电脑里面也是一样有规定的.大理石机械 ...

  7. neo4j安装部署

    链接: https://blog.csdn.net/u013946356/article/details/81736232

  8. Servlet实现注册

    1.Servlet实现注册的思路: 2.工程结构 3.功能实现: (1)html实现对数据的收集: <body bgcolor="aqua"> <center&g ...

  9. Processing玩抠图

    突然兴起想玩一下抠图,试着用自带的Example\video来改,花了一个中午做了个小样: 分别是白色为底与黑色为底的效果,代码如下: import processing.video.*; int n ...

  10. Linux运维:安装CentOS7图解

    Ago linux运维群: 93324526 笔者QQ:578843228 此篇博文针对最小化安装,和只有图解.有不懂地方,欢迎加群询问. 此篇以CentOS7.2为例