惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
B
Blog
IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
量子位
博客园 - 叶小钗
T
Tailwind CSS Blog
小众软件
小众软件
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
雷峰网
雷峰网
博客园 - 三生石上(FineUI控件)
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Blog — PlanetScale
Blog — PlanetScale
V
V2EX
博客园_首页
I
InfoQ
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog

秋码分享

我是如何解决将 c++ 编译成可以在 node.js 中使用的 *.node,中间出现的一大堆问题的(指纹浏览器基石篇) eSIM Plus 爱沙尼亚手机号彻底翻车?“永久有效”悄然变成了一年! 接码平台 SMS-Activate 余额可以转移到新平台使用,截止日期:2026年1月29日 是时候将 hugo-theme-kiwi 主题提交到 themes.gohugo.io 站点上了 Flux2 刚开源就凉了?Z-Image 本地部署狠狠打了个样 声音的未来:Chatterbox —— 用「夸张度旋钮」提升表现力的开源 TTS 向导 还以为那只是换个背景?Qwen-Image-Edit 在 ComfyUI 中能做到更离谱的事 Windows 结合最新版 ComfyUI 部署阿里最新开源的 Qwen-Image 图像大模型 从零样本到跨场景:Seed-VC语音转换技术的革命性突破 大语音模型轻量化革命:MegaTTS3 如何重新定义文本生成语音的技术边界(windows篇) 竞赛级编程大模型OlympicCoder-7B之本地部署(Windows篇) 阿里开源了端到端全模态大模型Qwen-2.5-Omini-7B之本地部署(windows篇) 语音识别之whisper本地部署(实时语音之开篇) 甭管是个人还是企业都能部署的Mistral-Small3.1,远超同级别的模型 文生音乐开源项目DiffRhythm,8G显存本地部署之Windows篇 阿里QwQ-32B本地部署指南:用Ollama轻松运行320亿参数大模型 基于Qwen2.5大模型的Spark-TTS,零样本语音克隆,CPU可运行之本地部署(Windows篇) 智谱开源了文生图CogView4-6B模型,支持中文提示词之本地部署(Windows篇) 基于歌词生成整首歌的开源AI音乐模型,支持中、英、日、韩等多种语言,本地化部署YuE(windows篇) 阿里云开源的文生视频万相 Wan2.1之本地部署Wan2.1-T2V-1.3B模型 互动式开源AI图像编辑神器,Windows11本地部署 MagicQuill 本地部署Qwen2.5-VL-7B-Instruct多模态视觉大模型(Windows篇) 保持角色一致性的绘本生成AI开源项目之Story-Adapter本地部署Windows篇 本地部署 Stable Diffusion 3.5(最新 ComfyUI记录篇) 谁说Win7安装不了Node.js最新版的呢?都2025年,还不更新系统到Win11 vs code远程调试Linux服务器上的php代码 浏览器定制 | Windows11 编译 Chromium 133.0.6885.0(截稿前Chromium最新版之编译篇[一]) 不说是彻底搞懂,至少让你不再惧怕c/c++指针,以及各种奇葩指针变种 解决windows下php8.x及以上版本,在Apache2.4中无法加载CURL扩展的问题 安装 depot_tools 和 Windows 10 SDK 为在Windows下构建基于 chromium 的浏览器(103.0.5060.68 之二)
在 Windows8.1 下编译 Chromium (103.0.5060.68 之三)
一个游离于山间之上的江湖漫行者。A jungle wanderer who wanders above the mountain · 2024-09-27 · via 秋码分享

说在前面的话

或许你在看到文章标题中的windows8.1,难免会让你望而却步

谁说不是呢!毕竟按chromium官方文档要求,win8.1是达不到编译 chromium高版本的要求的。

但不管怎么样,我的win8.1电脑最终还是编译出了chromium,足以说明win8.1系统编译chromium是可行的。

虽然在编译期间,占有了电脑大量使用时间,好在我都是在白天出门前,电脑开着让它静静build

让我庆幸的是,在那漫长的编译过程中,竟没有因errorhuofailed而中断,就连warning也是瞧不见身影。

编译途中出现error或failed总是再所难免`的,但却平添了我们去解决该问题的时间。

下载 chromium 源码

Chromium官方文档来看,是需要至少100G空闲磁盘,为此,我查看电脑里的几个盘,最终还是选择了C盘,清理了很大一部分空间出来,也就是你现在看到的下图这般。

image-20240917114331837

新建一个名为chromium的文件夹,名字你可以随意起,这个倒无所谓的!

image-20240917114514475

chromium 官方文档是通过fetch chromium来下载代码,但是这种下载是chromium最新代码,还包括历史log,虽然可以带上--no-history参数,它终究还是拉取最新代码。

在当前文件夹内,空白地方鼠标右键,再弹出的选项列表里,选择Git Bash here,再弹出的对话框中输入以下命令。

  • 第一种方案:
git clone --depth 100 -b 103.0.5060.68 https://chromium.googlesource.com/chromium/src.git src

直接从chromium 官网拉取源码,下载的速度取决于你的网络

  • 第二种方案(我采取这种方案,为的是节省网络流量):
git clone --depth 100 -b 103.0.5060.68 https://gitee.com/mirrors/chromium.git src

# 还原git仓库地址
cd src
git remote set-url origin https://chromium.googlesource.com/chromium/src.git
cd ..

参数说明:

  • --depth 100 意思是拉取深度为100,这将会拉取一些 log,因为编译脚本会基于仓库的 log 反查版本发布时间。如果这个值太小,可能会查不到,因而报错。所以,建议设为 100 或更大些。或者,直接去掉这个参数,但这样将拉取全部的 log,特别慢。
  • -b 103.0.5060.68 指定拉取的 tag 版本。

不管你采取了那种方案,在gitcmd总是要设置好网络,至于怎么设置网络,可以查看秋码记录,这里将不再赘述,毕竟后面同步第三方依赖,是必须要用到网络的!

若你的电脑安装过了git工具,可以在Git Bash,输入上述任何一种方案。

image-20240917124924443

假使你电脑没安装过git,那么直接在cmd中,输入上述任何一种方案。

image-20240918232342575

生成 .gclient 文件

其实,这一步骤在Chromium文档里是没有的,之所以需要手动来生成.gclient这个文件,那是由于我们在拉取chromium代码时,是指定了版本号,拉取时不会自动生成这个文件。

Chromium文档上使用fetch chromium命令来拉取代码后,会在当前文件夹自动生成一个src文件夹和.gclient文件,虽然可以加上--no-history参数来排除历史记录,但它拉取的总是最新的chromium代码,或许不支持你当前的系统,故而我选择了一个特定版本。

gclient config --unmanaged https://chromium.googlesource.com/chromium/src.git

执行完上述命令后,在于src文件夹同级下,自动生成了一个.gclient文件。

image-20240917155816414

image-20240917155634276

同步第三方依赖

若你的网络还算可以的话,按照chromium 文档的拉取方案,且拉取过程中没有中断过,是不需要这一步的。

而你若采取的跟我一样的方案,那么这一步骤是必不可少的,这也就是我为什么说,你最终还是要设置好网络原因所在了。

执行指令后,要下载几个 G 的依赖包,比较慢,窗口也会输出 Still working on的提示,防止假死被误关:

image-20240917162353954

这当中可能需要耗费几个小时,它的快慢取决于你的网速快慢。

当然咯,gclient sync过程中出现了很多errorfailed,我将另外撰写一篇关于在windows下编译chromium出现的问题汇总,这里将不再叙述。

你把errorfailed给解决了,依旧在cmd执行gclent sync命令继续下去。

gclient sync执行期间,你可以出门去逛逛商场、爬爬山、或去电影院看场电影。

等你回来是,看到跟下图一样的话,那么说明gclient sync命令执行成功了。

image-20240921172936811

编译调试版浏览器

首先cd src目录进行编译。

cd src

# 生成方案
gn gen out\Default

# 编译
autoninja -C out\Default chrome

autoninja_cpu_used

指令 gn gen out\Default 生成的方案默认是编译为调试版的浏览器。

编译过程很久,根据机器性能决定,持续几个小时是正常的。如果意外中断,可再次执行 autoninja -C out\Default chrome 继续编译。

image-20240927104800553

编译是成功了,可是无法打开它,或许是我电脑系统的问题,然而我转念一想,不对啊!我电脑都能正常运行chrome 109,不至于无法打开chromium 103版本吧!还是接着编译正式版