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
放在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的编译文档
- 在ubuntu上编译chrome
在ubuntu上编译chrome 在ubuntu上编译chrome 红心地瓜 1.获取代码 1)下载tarball,http://chromium-browser-source.commondatas ...
- 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法
这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...
- [ZZ] 在windows上编译Mesa3d opengl32库
在windows上编译Mesa3d opengl32库 cheungmine http://blog.csdn.net/ubuntu64fan/article/details/8061475 Mesa ...
- 如何在 Windows上编译Objective-C
Objective-C现在几乎已经变成了苹果的专利了,可以直接在苹果的Xcode上编译Objective-C程序,但是在Windows平台下的编译工具就寥寥无几了,本身这种语言用的人就不是很多.今天在 ...
- 利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl
利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl 首先mingw的环境搭建,务必遵循下文: http://blog.csdn.net/ubuntu64fan/ar ...
- 在windows上编译wireshark源代码
终于在windows上成功编译了wireshark源代码,个中酸辛,都是泪..只能说要多试! windows上编译wireshark共用到三个东西:wireshark源代码.python.cygwin ...
- 在windows 上编译部署Rap2
在windows 上编译部署Rap2 引言 安装需要的环境 安装后端站点 创建数据库 在全局安装pm2 和 typescript 配置mysql,redis 数据库链接配置 初始化 编译 初始化数据库 ...
- 写一个Windows上的守护进程(6)Windows服务
写一个Windows上的守护进程(6)Windows服务 守护进程因为要开机启动,还要高权限,所以我就把它做成Windows服务了. 关于Windows服务的官方文档,大家可以看https://msd ...
- 在Ubuntu上安装Chrome浏览器和ChromeDriver
启动脚本后报错 selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable may have w ...
随机推荐
- puppeteer UI自动化测试demo(一)
一.简介 这个不大常见,比较常见的是selenium和weddriver: 所以就增加一个说明,来自官网的. Puppeteer 是一个 Node 库,它提供了一个高级 API 来通过 DevTool ...
- mock工具:mock.js 和vscode faker,moco
参考:https://www.jianshu.com/p/8453b045544f mock.js主要用于模仿接口返回,可与原生ajax一起使用. 参考:https://www.jianshu.com ...
- 开放API接口安全处理
一.开放API接口定义 顾名思义,开放出来给其他人调用的API接口就是开放API接口.例如,短信接口.邮件接口. 二.开放API的弱点 数据窃取 用户的密码等信息被不轨之人窃取,登录账号发布敏感信息, ...
- 判断指定对象是否进入浏览器可视窗口,true 进入,false 没进入
//判断指定对象是否进入浏览器可视窗口,true 进入,false 没进入 var $win = $(window);//jQuery 的 window 对象 即:文档对象 function isVi ...
- MySQL分区表 非分区索引 无法使用
在<高性能Mysql>这本书的‘如何使用分区’这一小章中,列举的常见问题中,有以下一个问题: 分区列和索引列不匹配 如果定义的索引列和分区列不匹配,会导致查询无法进行分区过滤.假设在列a上 ...
- Memcached 与 Redis 区别
一.问题: 数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求. 二.解决方案: 1.通过高速服务器Cache缓存数据库数据 2.内存数据库 ( ...
- Poj 2018 Best Cow Fences(分数规划+DP&&斜率优化)
Best Cow Fences Time Limit: 1000MS Memory Limit: 30000K Description Farmer John's farm consists of a ...
- 洛谷 P1823 [COI2007] Patrik 音乐会的等待 题解
P1823 [COI2007] Patrik 音乐会的等待 题目描述 N个人正在排队进入一个音乐会.人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人.队列中任意两个人A和B,如果他们是相 ...
- subcode
在思考.查阅subcode时,我发现Magma,Sage Math软件都提供了具体的命令和例子,对subcode的认识比较具象. 例如:Sage Math中有如下命令: C1 = codes.Hamm ...
- (1)Go变量声明、赋值和常量
先简单了解一下控制台输出,在go中,我们使用fmt包中的函数进行在控制台中打印,一般用以下几个函数 fmt.Print() #不换行输出 fmt.Printf() ...