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

推荐订阅源

IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
ThreatConnect
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
H
Help Net Security
T
Threat Research - Cisco Blogs
Blog — PlanetScale
Blog — PlanetScale
A
Arctic Wolf
G
Google Developers Blog
量子位
U
Unit 42
I
InfoQ
V
V2EX
F
Fox-IT International blog
P
Privacy & Cybersecurity Law Blog
V
Visual Studio Blog
J
Java Code Geeks
大猫的无限游戏
大猫的无限游戏
C
CERT Recently Published Vulnerability Notes
博客园 - 三生石上(FineUI控件)
T
The Exploit Database - CXSecurity.com
T
Tailwind CSS Blog
SecWiki News
SecWiki News
Know Your Adversary
Know Your Adversary
MyScale Blog
MyScale Blog
宝玉的分享
宝玉的分享
The Hacker News
The Hacker News
Project Zero
Project Zero
Application and Cybersecurity Blog
Application and Cybersecurity Blog
月光博客
月光博客
Recent Commits to openclaw:main
Recent Commits to openclaw:main
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
GRAHAM CLULEY
C
Cisco Blogs
I
Intezer
Simon Willison's Weblog
Simon Willison's Weblog
O
OpenAI News
Recorded Future
Recorded Future
T
Tenable Blog
W
WeLiveSecurity
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
T
The Blog of Author Tim Ferriss
www.infosecurity-magazine.com
www.infosecurity-magazine.com
D
Docker
C
Cybersecurity and Infrastructure Security Agency CISA
PCI Perspectives
PCI Perspectives

文章列表

我是如何解决将 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代码 不说是彻底搞懂,至少让你不再惧怕c/c++指针,以及各种奇葩指针变种 解决windows下php8.x及以上版本,在Apache2.4中无法加载CURL扩展的问题 在 Windows8.1 下编译 Chromium (103.0.5060.68 之三) 安装 depot_tools 和 Windows 10 SDK 为在Windows下构建基于 chromium 的浏览器(103.0.5060.68 之二) Windows构建基于 Chromium 的浏览器之环境准备篇安装 Visual Studio(103.0.5060.68 之一) 为什么网站加载速度总是那么不尽如人意呢?(网站优化篇) 海外云服务器安装 Redis 6.2.x (Ubuntu 18.04 记录篇三) 海外云服务器安装 MariaDB 10.6.X (Ubuntu 18.04 记录篇二) 海外云服务器安装 JDK8 (Ubuntu 18.04 记录篇) 虚拟机 Linux 安装 JDK(Vagrant 之二 CentOS7 篇) 怎样快速搭建 Linux 虚拟机呢?(vagrant 篇) 个人站点迁移之gitlab.com pages 绑定自定义域名 不要你掏腰包,就能搭建个人网站之 gitlab.com Pages 托管服务 国内 gitee.com Pages 下线了,致使众多站长纷纷改用其他托管平台 canvas绘制文本时,该如何处理首行缩进、自动换行、多内容以省略号结束、竖排的呢? 其实,低成本甚至免费的,也是可以搭建个人网站的哦! 腾讯云COS托管静态网站,以及如何解决访问出现了下载网页的情况 错误分析 (Machine Learning 研习十九) 多类别分类器(Machine Learning 研习十八) 使用CSS计数器,在目录名称前加上了序号,让目录看起来更加井然有序 使用 golang 以及 Gin 框架,将上传的图片在不保存至本地的情况下添加水印,并上传至阿里云 OSS 绘制特征曲线-ROC(Machine Learning 研习十七) 网站引入 Prism,使得代码高亮显示,并一键复制代码块 精确率(召回率)的权衡(Machine Learning 研习十六) 对模型性能进行评估(Machine Learning 研习十五) 图像识别之入门案例之数字识别(Machine Learning 研习十四) 微调模型——续(Machine Learning 研习之十三) 微调模型(Machine Learning 研习之十二) 解决 github.com port 443: Timed out 的问题 选择和训练模型(Machine Learning 研习之十一) 回望这风雨飘摇的一年过后,我们终将要整束行囊继续前行 一套由 Hugo 驱动的博客主题 hugo-theme-kiwi 开源啦 机器学习中的 Transformation Pipelines(Machine Learning 研习之十) 特征缩放和转换以及自定义Transformers(Machine Learning 研习之九) 为机器学习算法准备数据(Machine Learning 研习之八) 端到端的机器学习项目之探索数据(Machine Learning 研习之七) 端到端的机器学习项目(Machine Learning 研习之六) 机机器学习的测试和验证(Machine Learning 研习之五) 机器学习的主要挑战和任务(Machine Learning 研习之四) 对于大量数据集的解决方案便是在线学习或是增量学习(Machine Learning 研习之三) 现实生活中机器学习的具体示例(Machine Learning 研习之二) 让机器学习不再是过门不入,带您一起详解机器学习(机器学习 Machine Learning 研习之一) 把握住golang中的template,方能驾驭得了Hugo主题的template 云服务器到期,站点迁移,Nginx配置SSL以备后续只需! 玩以太坊链上项目的必备技能(内联汇编 [inline assembly]-Solidity之旅十八) 玩以太坊链上项目的必备技能(库 [library]-Solidity之旅十七) 玩以太坊链上项目的必备技能(Constant 和 Immutable 状态变量-Solidity之旅十六) 玩以太坊链上项目的必备技能(修改器 [modifier]-Solidity之旅十五) 玩以太坊链上项目的必备技能(错误处理以及异常-Solidity之旅十四) 玩以太坊链上项目的必备技能(函数及其可见性和状态可变性-Solidity之旅十三) 玩以太坊链上项目的必备技能(事件-Solidity之旅十二) 玩以太坊链上项目的必备技能(OOP-接口-Solidity之旅十一) 玩以太坊链上项目的必备技能(OOP-抽象合约-Solidity之旅十) 玩以太坊链上项目的必备技能(OOP-合约继承-Solidity之旅九) 玩以太坊链上项目的必备技能(流程控制-Solidity之旅八) 玩以太坊链上项目的必备技能(单位以及全局变量-Solidity之旅七) 玩以太坊链上项目的必备技能(基本类型转换以及推断-Solidity之旅六) 玩以太坊链上项目的必备技能(变量作用域-Solidity之旅五) 玩以太坊链上项目的必备技能(类型-映射类型-Solidity之旅四) 玩以太坊链上项目的必备技能(类型-引用类型-Solidity之旅三) 花了不到1块5,玩了下全网最火的ChatGPT 玩以太坊链上项目的必备技能(类型-值类型-Solidity之旅二) 玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一) 在构建 Web3 前,需先知道什么是区块链,毕竟 Web3 是基于区块链 Web3 来了,让我们展开双手拥抱它吧! Go 语言中的 Moduels 管理(Let's Go 三十四) Go 语言中的包(Let's Go 三十三) Go 语言中的错误处理(Let's Go 三十二) Go 语言中的带有缓冲 Channel(Let's Go 三十一) Go 语言中的单向 Channel(Let's Go 三十) Go 语言中的 Channel(Let's Go 二十九) Go 语言中的并发编程(Let's Go 二十八) Go 语言中的空接口(Let's Go 二十七) Go 语言中的类型断言(Let's Go 二十六)
浏览器定制 | Windows11 编译 Chromium 133.0.6885.0(截稿前Chromium最新版之编译篇[一])
2024-12-12 · via

序章回顾

其实,在此之前,我已经发表过如何在Windows下编译Chromium及前期环境准备的系列文章了。

那么,既然之前已然撰写过了,缘何又出这么一篇类似的文章呢?

倘若你看过我那几篇关于windows编译Chromium的系列文章,你或许就会明白我写这篇文章的意义了。

可假使你还没看过,也没关系,毕竟彼时windows系统版本还处于win8.1,机器很久了,光是编译,就费了两天一夜,期间CPU一直处于高负荷状态,途中不能操作任何事物,虽然到最后是编译出来。

然而,当我双击打开刚刚编译出来的chrome.exe时,却并不能打开。

花费了这么长的时间来编译,可最终却不能打开,气得我一度将out\Default删除掉,重新编译它,然而,又将是一个漫长的编译过程。

很显然,导致编译时间过长的罪魁祸首就是我的那台(为了区别于赤巨资购买了可用于把玩Mechine Learning的新笔记本)笔记本过于老旧,虽然我期间也为这台笔记本,把内存增加到了16G,可终究还是无法补救其卡顿的`悲惨命运。

新电脑拉开了新篇章

对于那台老旧电脑,若用来编译大型项目(诸如:Chromium)时,它将是有心无力廉颇老矣,善能战否?

可即便是不去编译项目,光是打开号称宇宙界最耗内存的微信,与我弟视频,期间是不能运行其他软件,否则的话,它就直接闪退。

凡此种种缘故,也正借artificial intelligence(AI)这股强劲的风,我便有了买台新点电脑的预算。

其实,也在新电脑编译过chromium 103.0.5060.66,可最终我还是选择了编译chromium 最新版(最新版只限于截稿前),毕竟这都是高配置的电脑,何不编译最新版本呢,之前那台电脑是受到客观因素,故而编译了Chromium 103.0.5060.66这个版本。

系统要求

  • 一台至少具有 8GB RAM 的 x86-64 计算机。强烈建议超过 16GB。
  • NTFS 格式的硬盘驱动器上至少有 100GB 的可用磁盘空间。FAT32 将不起作用,因为某些 Git 包文件大于 4GB。
  • Visual Studio 的适当版本,如下所述。
  • Windows 10 或更高版本

visual studio

新版Chromium 需要 Visual Studio 2022 (>=17.0.0) 才能构建。Visual Studio 还可用于调试 Chromium。使用 clang-cl 编译器,但需要 Visual Studio 的头文件、库和一些工具。如果 Visual Studio Community Edition 的许可证适合您,则应该可以正常工作。必须安装“使用 C++ 进行桌面开发”组件和“MFC/ATL 支持”子组件。这可以通过将这些参数传递给 Visual Studio 安装程序从命令行完成。

这跟我之前安装visual studio 2019 community一样的。对于Chromium每个版本所对应的visual studio版本要求也各不相同。

Windows SDK

  • Windows 11 SDK 版本 10.0.22621.2428。这可以单独安装,也可以通过选中 Visual Studio 安装程序中的相应框来安装。
  • Windows 11)SDK 调试工具 10.0.22621.755 或更高版本。需要此版本的调试工具才能支持读取 Chrome 用于允许大于 4 GiB PDB 的大页面 PDB。这可以在安装匹配的 Windows SDK 版本后从以下位置安装:控制面板 -> 程序和功能 -> Windows 软件开发工具包 [版本] -> 更改 -> 适用于 Windows 的调试工具。如果在 ARM64 Windows 上构建,则需要从另一台计算机手动复制 Debuggers\x64 目录,因为它没有安装在 ARM64 上,并且需要它,无论您是在 ARM64 上构建 Chromium for x64 还是 ARM64。

警告:在足够旧版本的 Windows(1909 或更早版本)上,使用 26100 SDK 时,dawn(或相关组件)可能会失败,并出现与 D3d 相关的错误。这是因为新 SDK 中的 d3dcompiler_47.dll 文件会尝试动态链接旧系统上默认不存在的通用 C 运行时版本。如果您遇到这些错误,可以更新系统上的 UCRT,或者安装 22612 SDK 并使用其中包含的 d3dcompiler_47.dll 文件,该文件会静态链接 UCRT。

此问题也可能表现为 DLL 无法加载 .__CxxFrameHandler4

Chromium每个版本编译环境准备,都可在源码目录下找到每个系统的build文档说明。

image-20241212204239882

对 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 core.preloadindex true
$ git config --global core.fscache true
$ git config --global branch.autosetuprebase always

虽然不一定是必需的,但将 git 配置为允许长路径支持(超出 Windows MAX_PATH限制)可能会有所帮助:

$ git config --global core.longpaths true

下载 depot_tools 及配置环境变量

depot_toolsgoogle内部工具,用来管理项目,它内置了pythongit,所以在配置环境变量时,必须将它配在pythongit前,要不然的话,会报错。

下载地址 https://storage.googleapis.com/chrome-infra/depot_tools.zip

编译 Chromium

  • 1、初始化 depot_tools

    打开一个terminal,输入以下命令,在此之前,你得设置好网络(你应该懂得!)

    gclient
    
  • 2、在你电脑任何一个盘符下,新建chromium文件夹(当然你也可以起其他名称,这点随你意。)

    mkdir chromium && cd chromium
    
  • 3、fetch chromium源码。

    fetch chromium
    

    如果您不想要完整的存储库历史记录,可以通过将标志添加到 来节省大量时间。--no-history fetch

    预计即使在快速连接上,该命令也需要一个多小时,而在较慢的连接上则需要许多小时。您应该配置您的 PC,使其在获取过程中不会进入睡眠或休眠状态,否则可能会发生错误。如果在获取子存储库时出现错误,那么您可以重新开始,或者您可以通过转到 chromium/src 目录并运行以下命令来纠正它们:

    gclient sync
    
  • 4、生成构建文件。

    $ gn gen out\Default
    
  • 5、开始编译。

    autoninja -C out\Default
    

    编译的快慢,取决于你电脑的配置,我这台新电脑也得花上3个小时多。

运行编译出来的chromium

经过漫长的编译,这台新电脑终是不辱使命的完成了它首次编译如此巨大的工程。

我双击chrome.exx这个可执行文件,闪现在我眼前的是一个浏览器。

image-20241211211422081